0

我試圖設置一個父級具有一些屬性和子級模型的結構,這些屬性和子級模型會繼承這些屬性並保持其自己的屬性。設置父級和子級模型,但子級擁有它自己的列

理想情況下,我想的

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和Polymorphic Associations,但是我想避免爲每種類型的孩子提供has_many。這可能嗎?

回答

0

我已經能夠使用https://github.com/hzamani/acts_as_relation寶石解決我的問題。看來我正在尋找的是多表繼承。一旦我獲得了設置,我就可以創建具有與父代相同屬性的子模型以及它們各自的屬性,而無需將每個子代指定爲父代中的多態關聯。

0

當然可以。這就是繼承的工作原理。這就是OOP的美麗。

只要把'has_many'放在父類中,所有的孩子都有這個。