2013-01-15 29 views
-1

嗨我试图弄清楚如何在Rails中创建列表时遇到问题。我的问题是我有一个Team对象,然后我有一个包含hometeam和awayteam的灯具对象,我希望能够自动生成灯具,例如,我有20支球队,所以每支球队都有38场比赛需要在主场和外围各队比赛,我如何创建一个球队列表来满足这些要求,或者可以在Rails中进行。通过让每个团队都能在家里玩每个人,一旦它将创建所有客场比赛。在Rails中生成嵌套对象的列表

回答

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 

将创建的所有380个灯具为20支球队。

+0

您好我试图把我的索引方法在我的灯具控制器(也许这是完全错误的,我是一个初学者到Rails),但我得到这个错误在FixturesController#索引 CanMachine :: MassAssignmentSecurity :: Error 't mass-assign protected attributes:home_team,away_team Rails.root:C:/ Users/GCD/Desktop/result_predictor Application Trace |框架跟踪|全跟踪 app/controllers/fixtures_controller.rb:11:在索引中的block中 app/controllers/fixtures_controller.rb:10:in'combination' app/controllers/fixtures_controller.rb:10:in'index' – user1014888