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