2017-09-26 90 views
0

我最近尝试但是现在的命名空间,像这样命名空间Rails的路线不正确具名的辅助

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

不太清楚,但尽量'<%=的link_to '显示',[:管理员,@organization_assignment ]%>'。我知道它适用于'form_for';它可能适用于此。 –

+0

另外,变量是@ @ organization_assignment还是'@ organization'?它似乎混合在上面的代码中。 –

+0

Oop yes是@organizaton。我删除了一些内容,以便在此处阅读。感谢您的建议,我会尝试。 –

回答

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)