我有一个带有子类别的类别,子类别有帖子。我想将其链接如下:
/categoryname/subcategoryname/post_id/postname
我已经尝试过把它放在我的路线中了:
resources :categories do
resources :subcategories do
resources :posts
end
end
但是,只要我想通过/categoryname/subcategory/
link_to(subcat.name, category_subcategory_path)
)创建链接
我明白了:
No route matches {:controller=>"subcategories", :action=>"show"} missing required keys: [:category_id, :id]
如何进行此操作以获得所需的链接设置?
提前致谢,
答案 0 :(得分:1)
<强>蛞蝓强>
首先,如果您希望使用slugged routes,那么您最好看一下宝石,包括friendly_id或slugalicious - 基本上允许您管理& #34;蛞蝓&#34;对于您的模型 - 以URL编码格式保存标题或其他属性
<强>路径强>
其次,我认为您将通过提供值来解决您的问题,而不是使用路径助手。我会这样做:
link_to subcat.name, category_subcategory_path(category.id , subcat.id)
当您使用path helper
时,它只关心您发送的params
。您正在使用的路径助手要求您设置category_id
和subcategory_id
参数 - 您应将其传递给路径助手,如上所示
这将使用id
创建路径 - 如果您想使用slugs
,则需要使用上述宝石之一({建议使用{3}}来设置应用程序中的slugs