... 아니면 그냥 알 수 없습니다.레일 4 : 무작위 목록에서 오프셋을 사용하면 예기치 않은 결과가 발생합니다.
TL; DR - 전 중복으로 완전히 무작위로 결과를 얻습니다. 이유는 모르겠다.
다음은 문제입니다. - 나는 대회용 대괄호를 생성하는 레일 앱을 만들려고합니다. 사용자는 대괄호 생성시 팀 목록을 무작위로 지정할지 또는 나중에 팀을 직접 지정할지 여부를 선택할 수 있습니다.
내가 후자의 옵션을 선택하고 ID가 갈수록 괄호를 생성하면 모든 것이 정상입니다. 목록을 무작위로 선택하면 목록 자체가 문제가되지 않지만 이후 특정 팀을 특정 경기 (루프)에 할당 할 때 해당 팀은 완전히 조직되지 않고 예상치 못한 (적어도 나에게) 예.
대신
대전 1 팀 대 팀 1 2
대전 2 팀 4
등 대 팀 3 나 자주 중복 완전히 임의의 것을 얻을
(통상적으로 생성 된 것 같이) 같은 :
1 경기 : 팀 1 팀 대 1
2 경기 : 팀 대 팀 1 9
if @seed = 'random'
@team_list = @tournament.teams.order("RAND()")
else
@team_list = @tournament.teams.order(:id)
end
하는 방법 등이다 팀에 서명하십시오. 나사를 모두 "오프셋"부분 인 것처럼 보이며, 이해하지 못합니다. 이유는 무엇입니까?
@match.team_a = @team_list.offset((2*match_number)-2).limit(1).first
@match.team_b = @team_list.offset((2*match_number)-1).limit(1).first
EDIT : @team_list 데이터
샘플을 요청한다. 그것은 무작위로 추출한 것입니다.
#<ActiveRecord::AssociationRelation
[#<Team id: 2, team_name: "test_team_a", reputation: 0, created_at: "2016-08-25 09:29:20", updated_at: "2016-08-26 11:08:21", team_leader_id: 2>,
#<Team id: 9, team_name: "test_team_b", reputation: 0, created_at: "2016-08-30 23:01:17", updated_at: "2016-08-30 23:01:17", team_leader_id: 2>,
#<Team id: 3, team_name: "test_team_c", reputation: 0, created_at: "2016-08-30 22:59:16", updated_at: "2016-08-30 22:59:16", team_leader_id: 2>,
#<Team id: 7, team_name: "test_team_d", reputation: 0, created_at: "2016-08-30 23:00:35", updated_at: "2016-08-30 23:00:35", team_leader_id: 2>,
#<Team id: 5, team_name: "test_team_e", reputation: 0, created_at: "2016-08-30 23:00:07", updated_at: "2016-08-30 23:00:07", team_leader_id: 2>,
#<Team id: 6, team_name: "test_team_f", reputation: 0, created_at: "2016-08-30 23:00:23", updated_at: "2016-08-30 23:00:23", team_leader_id: 2>,
#<Team id: 4, team_name: "test_team_g", reputation: 0, created_at: "2016-08-30 22:59:41", updated_at: "2016-08-30 22:59:41", team_leader_id: 2>,
#<Team id: 8, team_name: "test_team_h", reputation: 0, created_at: "2016-08-30 23:00:46", updated_at: "2016-08-30 23:00:46", team_leader_id: 2>]>
@team_list에 데이터 샘플을 추가 할 수 있습니까? –
지금 추가됨 : – user3758208