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 回答