【发布时间】:2011-08-13 19:29:18
【问题描述】:
我在嵌套路线时遇到问题。向您展示代码可能是最简单的。这是我的 routes.rb 文件:
resources :leagues do
get 'delete', :on => :member
resources :league_relations do
get 'delete', :on => :member
end
end
每个联赛都有_many :league_relations,每个联赛关系都属于_to :league。删除路线只是在销毁操作之前进行确认。
我正在尝试使用 Rails 的路径助手,但由于某种原因它们无法正常工作。具体来说,我正在尝试这样做:
new_league_league_relation_path
但这会引发错误:
没有路线匹配 {:action=>"new", :controller=>"league_relations"}
从技术上讲,这个错误是正确的。没有路由匹配“league_relations#new”,但这个助手创建的 URL 不应该是
/leagues/:id/league_relations/new
感谢您的帮助,我真的很感激。
【问题讨论】:
-
对不起大家,我实际上发现了问题。解决方案就是将一个联盟传入 new_league_league_relation_path。我的代码最终看起来像 new_league_league_relation_path(current_league) 其中 current_league 是返回当前正在查看的联赛的助手。
标签: ruby-on-rails ruby-on-rails-3