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 とポリモーフィック アソシエーションを見てきましたが、すべてのタイプの子供に has_many を入れることは避けたいと思っています。これは可能ですか?

4

2 に答える 2

0

https://github.com/hzamani/acts_as_relation gemを使用して問題を解決できました。私が探していたのは、Multi Table Inheritance と呼ばれていたようです。この設定を取得すると、親ですべての子をポリモーフィック アソシエーションとして指定することなく、親と同じ属性を持つ子モデルと独自の個別の子モデルを作成できました。

于 2013-04-29T19:00:04.267 に答える
0

もちろんできます。それが継承の仕組みです。それが OOP の美しさです。

親クラスに「has_many」を入れるだけで、すべての子がこれを持ちます。

于 2013-04-29T16:59:14.793 に答える