ActiveRecord模型的继承和多态性
|
我有一个类的继承关系,但没有单表继承。
ThrowAway < ActiveRecord::Base
和
Junk < ThrowAway
问题在于所有ThrowAway
对象都引用了Location
。 ALocation
belongs_to :throw_away, :polymprohic => true
问题是,如果我定义
ThrowAway < ActiveRecord::Base
has_many :locations, :as => :throw_away
end
那么即使Junk继承了它并定义了另一个表名,“ 7”列也将始终设置为“ 2”,而我实际上希望将其设置为“ 9”。
现在会有许多这样的子类,所以会有Stuff < ThrowAway
Rags < ThrowAway
等。我希望它们全部都具有Location
,而无需在每个单独的类中定义位置关系。
铁轨有可能吗?问题在于,不仅存在位置,还存在其他此类关系,我宁愿在此遵循一些DRY。我假设我需要创建一个生成器方法,该方法将在当前对象上执行并在运行时生成这些关系生成器。
谢谢。
没有找到相关结果
已邀请:
1 个回复
缕嚏冻