Я использую однонамерное наследование в моем приложении rails и хочу явно указать тип экземпляра.
У меня есть следующее:
class Event < ActiveRecord::Base
class SpecialEvent < Event
который реализуется посредством наследования одной таблицы.
 SpecialEvent.new работает так, как ожидалось, но я хочу иметь возможность делать такие вещи, как
Event.new(:type => 'SpecialEvent')
Таким образом, я могу легко создавать различные типы sub_types в приложении.
Однако это не работает и, кажется, устанавливает :type в nil, а не значение, которое я ему задал; Я подозреваю, что это вызвано тем, что при вызове Event.new он перезаписывает аргумент :type.
Кто-нибудь получил хороший способ сделать это?