2013-03-06 147 views
3

躲在我有脚手架“类别”,其具有表“类”和像CATEGORY_NAME等 现在在我的主页领域,我显示的所有记录。 如果我点击任何特定类别的“秀”,我的URL看起来像这样 - >“http://www.abc.com/categories/1”,其中1是id。 而不是“类别/ 1”在这里,我想要的网址是格式为:“http://www.abc.com/# {} CATEGORY_NAME”。 我使用友好的ID,但使我的URL这样的“http://www.abc.com/categories/# {} CATEGORY_NAME”。 我想从URL隐藏控制器的名称和ID,并只显示类别名称的Rails 3.2.12控制器动作从URL

回答

3

您可以添加类似

match '/:path' => 'categories#show', as: :category 
在你的路线

。被警告,这应该在路线的底部放置,因此至少需要优先考虑,因为它会匹配所有的控制器的索引行为。使用它像

category_path(category_name) 

或者

"/#{category_name}" 

您可能还需要删除展示映射到show动作所以它不会通过增加as: :category选项

resources :categories, except: [:show] 
产生的named_route冲突