我正在嵌套资源:
resources :users do
resources :tags
end
在我的代码索引页面中,我想链接到单个标记页面,所以我这样做:
<%= link_to 'Show', user_tag_path(@user.id) %>
在我的控制器中,我正在传递当前登录的用户ID:
@user = current_user
不幸的是,我收到以下错误:
No route matches {:action=>"show", :controller=>"tags", :user_id=>1}
我在这里做错了什么?
答案 0 :(得分:1)
Tag
资源依赖于特定的User
资源。这意味着对于Tag
的{{1}}路由:show
,它看起来像这样
user_tag
您需要在此路线上同时指定user_tag GET /users/:user_id/tags/:id(.:format) tags#show
和User
,例如
Tag
但是,你说
这是措辞不好。我认为,您的意思是指想要链接到我想链接到单个标签页
user_tag_path(@user, @some_tag_here)
的{{1}}路由,特定于某些:index
资源。没有像Tag
那样定义“单一标签页”。
User
路线看起来像
/tags
并像
一样使用:index