2013-01-15 3 views
-1

안녕하세요, 레일즈에서 어떻게리스트를 만들 수 있는지 알아 내려고 노력하고 있습니다. 내 문제는 내가 팀 객체를 가지고, 그때 hometeam과 아티팩트를 포함하는 조명기 개체를 가지고, 나는 자동으로 조명기를 생성 할 수 있기를 원한다. 저는 20 개의 팀을 보유하고 있으므로 각 팀은 각 팀이 고국과 원정 경기를 할 때 필요한 38 개의 게임을 가지고 있습니다. 어떻게 이러한 요구 사항을 충족시키는 조명기 목록을 만들거나 레일스에서 ​​가능할 수 있습니까? 각 팀이 모든 사람들을 집에서 놀게하면 모든 비품을 만들게됩니다.Rails에서 중첩 된 객체 목록 생성

답변

2

Ruby Array에는 작업을 수행하는 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 

같은 http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-combination

뭔가 20 개 팀 모두 380 개 비품을 만듭니다.

+0

안녕하세요 내 설비 컨트롤러 내 인덱스 방법 내에서 그 방법을 넣어 (어쩌면 이것이 내가 레일에 초보자입니다 완전히 잘못입니다)하지만 난 FixturesController 번호 지수에서이 오류 ActiveModel :: MassAssignmentSecurity :: 오류를 얻고 시도 수 home_team, away_team Rails.root : C :/Users/GCD/Desktop/result_predictor 응용 프로그램 추적 | 프레임 워크 추적 | 전체 트레이스 app/controllers/fixtures_controller.rb : 11 :'인덱스 블록 ' app/controllers/fixtures_controller.rb : 10 :'조합' app/controllers/fixtures_controller.rb : 10 :'인덱스 ' – user1014888