J'utilise single table inheritance dans mon application rails, et je veux définir explicitement le type d'une instance.Rails Single Table Inheritance - Quelle est la meilleure façon de définir explicitement le type?
J'ai ce qui suit:
class Event < ActiveRecord::Base
class SpecialEvent < Event
qui est implémentée via l'héritage de table unique.
SpecialEvent.new
fonctionne comme prévu, mais je veux être en mesure de faire des choses comme
Event.new(:type => 'SpecialEvent')
Je peux créer différentes sub_types facilement dans l'application.
Toutefois, cela ne fonctionne pas et semble définir :type
à nil
, pas la valeur que je l'ai définie; Je suppose que c'est parce qu'en appelant Event.new
, il écrase l'argument :type
.
Est-ce que quelqu'un a un bon moyen de le faire?
Voulez-vous dire que vous voulez créer des sous-types à la volée? – Bill
Non, je veux créer des instances de sous-types, où je veux déterminer par programme quel sous_type ils sont – DanSingerman