Namespaced Rails路由不正确命名助手

时间:2017-09-26 22:34:00

标签: ruby-on-rails routing

我最近尝试过命名一个像这样的资源路径

namespace :admin do
  resources :organization
  root 'organization#index'
 end

但是现在当我尝试去这样的资源时

<%= link_to 'Show', @organization %>

我收到错误undefined method organization_url

我知道我可以使用...

解决这个问题
<%= link_to 'Show', admin_organization_path(@organization) %>

有没有办法重写路由,以便@organization可以正确创建帮助路径?

1 个答案:

答案 0 :(得分:0)

就像使用form_for一样,您可以使用名称空间作为link_to数组中的符号,如下所示:

[:admin, @organization]

因此你的link_to看起来就是这样:

<%= link_to 'Show', [:admin, @organization_assignment] %>

这也适用于您有嵌套路线的情况。您可以使用如下数组:

[@organization, @organization_assignment]

link_to一起使用,它等于使用organization_organization_assignment_path(@organization, @organization_assignment)