Rails 関連付けを使用して以下をモデル化する方法を決定するのに苦労しています。
UML は次のようになります。
----------------
| CRITERIA |
----------------
|
|*
----------------
| CONTROLS | <___
---------------- \
^ \
| \
------------------- -------------------
| SCALE CONTROL | | TEXT CONTROL | .....
------------------- -------------------
- さまざまなコントロールにはまったく異なる属性があるため、STI は適切な選択ではないように思われます。
- ユーザーは基準ごとに任意の数のコントロールを指定できます。
次のようなことをしたいと思います。
Criteria
has_many :controls
ScaleControl
belongs_to :criteria, as: control
TextControl
belongs_to :criteria, as: control
そして、次の行に沿ってクエリを実行できます。
criteria.controls
# displays all controls (text, scale, etc.)
criteria.controls.each { ... }
私がこれまでに見たもの:
-RailsCasts のポリモーフィック アソシエーションに関するエピソードで、これは適切なユース ケースではないようです。
-ここには何十ものレール協会の投稿がありますが、直接関連するものは見つかりませんでした.
-Rails ドキュメント。
Railsで上記のようなものを実装するための一般的なパターンはありますか?