我正在尝试使用具有某些属性的父级和继承这些属性的子模型来建立一个结构,并维护自己的属性。
理想情况下,我想要一个
的设置class Parent
attr_accessible :some_attribute, some_attribute2, some_attribute3
end
class Child < Parent
attr_accessible :some_child_attr, :some_other_child_attr
end
class OtherChild < Parent
attr_accessible :something, :something_else
end
我可以通过子项访问列,但也可以将特定子项数据附加到给定模型。我一直在关注STI和多态协会,但我想避免为每种类型的孩子投入has_many。这可能吗?
答案 0 :(得分:0)
当然可以。这就是继承的工作原理。这就是OOP的美丽。
将'has_many'放在Parent类中,所有孩子都有。
答案 1 :(得分:0)
我已经能够使用https://github.com/hzamani/acts_as_relation gem来解决我的问题。看起来我正在寻找的是多表继承。一旦我得到了这个设置,我就可以创建具有与父项相同属性的子模型以及它们各自的子模型,而无需将每个子项指定为父项中的多态关联。