Ruby on rails 为什么此Rails视图中的编辑链接具有相同的id?
在此模型中,预定游戏和玩家是特许经营的嵌套资源,路由设置如下:Ruby on rails 为什么此Rails视图中的编辑链接具有相同的id?,ruby-on-rails,view,erb,Ruby On Rails,View,Erb,在此模型中,预定游戏和玩家是特许经营的嵌套资源,路由设置如下: OTH::Application.routes.draw do resources :franchises do resources :scheduled_games resources :players end 我可以正确地创建这些模型对象。但我一定是做错了什么,看起来是这样的: <% @franchise.scheduled_games.each do |game| %> <p c
OTH::Application.routes.draw do
resources :franchises do
resources :scheduled_games
resources :players
end
我可以正确地创建这些模型对象。但我一定是做错了什么,看起来是这样的:
<% @franchise.scheduled_games.each do |game| %>
<p class="games">
<span class="date">
<b>Opponent:</b> <%= game.opponent %>
<b>date:</b> <%= game.date %>
<%= link_to 'Edit',edit_franchise_scheduled_game_path(@franchise) %>
</span> </p>
<% end %>
在以下情况下,您还需要指定
游戏
:
因为它们使用REST模式,所以如果要删除资源,可以将HTTP/delete请求用于与GET请求相同的url。我尝试过(这是我尝试的第一件事),但遇到了路由错误。路由错误是什么?查看
rake routes
的输出可能会有所帮助。没有与{:action=>“edit”,:controller=>“scheduled_games”匹配的路由,:frances_id=>如果我直接输入/frances/1/scheduled_games/2/编辑url,我会得到正确的视图。我想我看到了问题的一部分,在路由错误的参数部分,我看到了#,@KevDog是从@francement.schedule_games
加载的预定游戏吗?也就是说,它们有id吗?
franchise_scheduled_games
GET /franchises/:franchise_id/scheduled_games(.:format) {:action=>"index", :controller=>"scheduled_games"}
POST /franchises/:franchise_id/scheduled_games(.:format) {:action=>"create", :controller=>"scheduled_games"}
new_franchise_scheduled_game
GET /franchises/:franchise_id/scheduled_games/new(.:format) {:action=>"new", :controller=>"scheduled_games"}
edit_franchise_scheduled_game
GET /franchises/:franchise_id/scheduled_games/:id/edit(.:format) {:action=>"edit", :controller=>"scheduled_games"}
franchise_scheduled_game
GET /franchises/:franchise_id/scheduled_games/:id(.:format) {:action=>"show", :controller=>"scheduled_games"}
PUT /franchises/:franchise_id/scheduled_games/:id(.:format) {:action=>"update", :controller=>"scheduled_games"}
DELETE /franchises/:franchise_id/scheduled_games/:id(.:format) {:action=>"destroy", :controller=>"scheduled_games"}
franchise_players
GET /franchises/:franchise_id/players(.:format) {:action=>"index", :controller=>"players"}
POST /franchises/:franchise_id/players(.:format) {:action=>"create", :controller=>"players"}
new_franchise_player
GET /franchises/:franchise_id/players/new(.:format) {:action=>"new", :controller=>"players"}
edit_franchise_player
GET /franchises/:franchise_id/players/:id/edit(.:format) {:action=>"edit", :controller=>"players"}
franchise_player
GET /franchises/:franchise_id/players/:id(.:format) {:action=>"show", :controller=>"players"}
PUT /franchises/:franchise_id/players/:id(.:format) {:action=>"update", :controller=>"players"}
DELETE /franchises/:franchise_id/players/:id(.:format) {:action=>"destroy", :controller=>"players"}
edit_franchise_scheduled_game_path(@franchise, game)