0

ダンサーが「ラウンド」またはダンスの動きのリストを作成できるアプリを構築しています。私は移動モデルとラウンド モデルを持っています。ユーザーが利用可能な動きを選択してラウンドに追加できるようにしたいと思います。これらのモデル間でどのような関連付けが必要かはよくわかりません。現時点では、移動モデルは belongs_to :round であり、セット モデルは has_many :moves です。

ラウンドに移動を追加する方法を必ずしも理解していません。ラウンド #1 と同様に、move1、move2、move3 が含まれます。ラウンドが作成されたときではなく、ラウンドが作成されたときにユーザーがラウンドに移動を追加しているため、移動自体に round_id を使用することはこの状況では意味がないように思われるため、私は混乱しています。

基本的な考え方は、新しいリストを作成し、関連する動きをそれに追加できるようにする必要があるということです。

4

1 に答える 1

1

ラウンドに対応するすべての動きを追跡する追加のテーブルが必要です。

class Move < ActiveRecord::Base
     has_many :roundmoves
     has_many :rounds, :through => :roundmoves
end

class Round < ActiveRecord::Base
     has_many :roundmoves
     has_many :moves, :through => :roundmoves
end

class RoundMove < ActiveRecord::Base
     belongs_to :round
     belongs_to :move
end

その良い例については、ガイドを確認してください:http: //guides.rubyonrails.org/association_basics.html#the-has_many-through-association

于 2013-03-17T01:02:21.770 に答える