1

Railsのポリモーフィックを理解しているかどうかはわかりません。Java では、同じ Objecttype からオブジェクトを作成できます: http://www.fh-kl.de/~guenter.biehl/lehrgebiete/java2/j2-08-Dateien/abb.8.10.jpg

 Person trainer = new Trainer()
 Person sportler = new Trainer()

Rails http://guides.rubyonrails.org/association_basics.html#polymorphic-associations :

この例では、写真は従業員または製品からのものである可能性がありますが、これは実際には同じタイプではないため、奇妙に聞こえます。

本当の目的を理解していますか? オブジェクトを同じコンテナに人物または画像の配列として保存すること?

私のレールプロジェクトでは、スポーツマン、トレーナー、ゲストなど、何人かの人がいます。彼らは人の息子です(継承)。私は継承理由を満たしていると思います。

エクササイズという別のクラスがあります。

スポーツマンとトレーナーはエクササイズを作成できます。

だから私はポリモーフィックを使いたいです。エクササイズは、トレーナーまたはスポーツマンから行うことができます。Rails ページの例のように、イメージは従業員または製品から取得できます。

ベストプラクティスを満たしていますか?

ポリモーフィで has_many :through を実装するにはどうすればよいですか? ポリモーフィックで habtm 関連付けを使用することはできません。追加のクラスを定義する必要がありますが、具体的にはどうすればよいでしょうか?

4

2 に答える 2

0

ポリモーフィックな関係ではなく、単一テーブル継承(STI)モデルが必要だと思います。

この記事を参照してくださいhttp://www.alexreisner.com/code/single-table-inheritance-in-railsおよびこれらのstackoverflowの回答Rails-申請者/従業員の関係のための単一テーブル継承またはそうでない Rails単一テーブル継承(STI)の代替?

于 2013-03-11T22:48:45.357 に答える