在Rails中生成嵌套对象的列表

时间:2013-01-15 16:40:07

标签: ruby-on-rails-3 activerecord nested-lists

您好我在尝试计算如何在Rails中创建列表时遇到了问题。我的问题是我有一个Team对象,然后我有一个包含hometeam和awayteam的fixture对象,我希望能够自动生成灯具,例如我有20个团队,所以每个团队有38个游戏,他们需要在每个团队主场和远程玩,我怎样才能创建一个灯具列表来满足这些要求,或者是否可以在Rails中使用。通过让每个团队在家里玩每个人,一旦它也会创造所有的远程固定装置。

1 个答案:

答案 0 :(得分:2)

Ruby Array有一个方法combination来完成这项工作。 http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-combination

这样的东西
teams = Team.all.to_a # or any selection of teams
teams.combination(2) do |first_team, second_team|
  Fixture.create!(hometeam: first_team, awayteam: second_team)
  Fixture.create!(hometeam: second_team, awayteam: first_team)
end

将为20支球队创造所有380个赛程。