0

在我的Rails應用程序中,有很多遊戲,每個遊戲都有它自己的一組排行榜。因此,讓排行榜嵌套在遊戲中是有道理的,所以你只能通過遊戲進入排行榜。設置我的routes.rb文件本身(的重要組成部分):Rails 3嵌套資源的路由錯誤

resources :games do 
    resources :leaderboards 
end 

於是我更新了我的控制器,所以它會得到通過在game_id適當的遊戲,並抓住從該排行榜的信息。但是,我的問題來自我的觀點。在本節中(自動生成從腳手架視圖):

<% @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> 

刪除此行,視圖呈現良好。所以,網址部分已損壞,但我該如何解決?奇怪的是,我在顯示視圖中有精確的「edit_game_leaderboard_path」,並且它工作正常......我做錯了什麼?

回答

2

你想:

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

我已經試過了。現在...它的工作。 Stackoverflow魔術?謝謝! –