-1

嗨,我一直在尝试弄清楚如何在 Rails 中创建列表时遇到问题。我的问题是我有一个 Team 对象,然后我有一个包含主队和客队的夹具对象,我希望能够自动生成夹具,例如我有 20 支球队,所以每支球队有 38 场比赛,他们需要在每支球队主场比赛并且,我怎样才能创建一个夹具列表来满足这些要求,或者在 Rails 中是否有可能。通过让每支球队在主场让每个人都在主场比赛,这也将创造出所有的客场比赛。

4

1 回答 1

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 场比赛。

于 2013-01-15T17:21:42.263 回答