-1

こんにちは私はRailsでリストを作成する方法を理解しようとして問題にぶつかり続けています。私の問題は、チームオブジェクトがあり、ホームチームとアウェイチームを含むフィクスチャオブジェクトがあります。フィクスチャを自動的に生成できるようにしたいです。たとえば、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 に答える