【问题标题】:Nested RESTful routes not working (RoutingError)嵌套的 RESTful 路由不起作用 (RoutingError)
【发布时间】: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


【解决方案1】:

实际上路线与您期望的完全一样。您只是忘记添加 :league_id

这将起作用:

new_league_league_relation_path(:league_id => 1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2015-11-25
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2014-09-26
    相关资源
    最近更新 更多