Estoy usando single table inheritance en mi aplicación de rieles, y quiero establecer explícitamente el tipo de una instancia.Rails Single Table Herencia: ¿Cuál es la mejor forma de establecer explícitamente el tipo?
Tengo lo siguiente;
class Event < ActiveRecord::Base
class SpecialEvent < Event
que se implementa a través de herencia de tabla única.
SpecialEvent.new
funciona como se esperaba, pero yo quiero ser capaz de hacer cosas como
Event.new(:type => 'SpecialEvent')
Así que puedo crear diferentes sub_types fácilmente en la aplicación.
Sin embargo, esto no funciona y parece establecer :type
en nil
, no en el valor que configuré; Sospecho que esto se debe a que al llamar al Event.new
sobrescribe el argumento :type
.
¿Alguien ha tenido una buena manera de hacerlo?
¿Quiere decir que desea crear subtipos sobre la marcha? – Bill
No, quiero crear instancias de subtipos, donde quiero determinar programáticamente qué subtipo son – DanSingerman