0

내 Rails 애플리케이션에는 많은 게임이 있으며 각 게임에는 고유 한 리더 보드 세트가 있습니다. 리더 보드를 게임에 중첩 시키면 게임을 통해 리더 보드에 갈 수 있습니다. I 설치 등 (중요한 부분)와 같은 내 routes.rb 파일 :이 전달 된 GAME_ID에서 해당 게임을 얻는다면, 그에서 리더 정보를 잡아 것 때문에Rails 3 중첩 된 리소스를 사용하는 라우팅 오류

resources :games do 
    resources :leaderboards 
end 

그래서 나는 내 컨트롤러를 업데이트했습니다. 그러나 내 문제는 내 견해에서 나온다.

<% @leaderboards.each do |leaderboard| %> 
    <tr> 
    <td><%= leaderboard.name %></td> 
    <td><%= leaderboard.scoreColumnName %></td> 
    <td><%= leaderboard.game_id %></td> 
    <td><%= link_to 'Show', [@game, leaderboard] %></td> 
    <td><%= link_to 'Edit', edit_game_leaderboard_path(leaderboard) %></td> 
    <td><%= link_to 'Destroy', [@game, leaderboard], :confirm => 'Are you sure?', :method => :delete %></td> 
    </tr> 
<% end %> 
</table> 

코드 휴식 말 :

No route matches {:action=>"edit", :controller=>"leaderboards", :game_id=>#<Leaderboard id: 1, name: "Test High Score Leaderboard", scoreColumnName: "Score", game_id: 1, created_at: "2011-07-03 01:32:33", updated_at: "2011-07-03 01:32:33">} 

이 줄은, 그것은 오류 밝혀입니다 :이 부분에서는 (자동 비계에서보기를 생성) (내 코드에 라인 19)

<td><%= link_to 'Edit', edit_game_leaderboard_path(leaderboard) %></td> 

이 줄을 제거하면보기가 잘 렌더링됩니다. 따라서 URL 부분이 손상되었지만 어떻게 수정해야합니까? 그 이상한 점은, Show 뷰에서 정확한 "edit_game_leaderboard_path"를 가지고 있으며, 잘 작동한다는 것입니다. 내가 뭘 잘못하고있는 걸까요?

답변

2

당신이 원하는 :

<%= link_to 'Edit', edit_game_leaderboard_path(@game, leaderboard) %> 
+0

나는 그것을 시도했습니다. 그리고 지금은 ... 작동합니다. Stackoverflow 마법? 감사! –

관련 문제