【发布时间】:2011-01-19 07:31:45
【问题描述】:
我有一个类别模型,我正在使用resources :categories 的默认脚手架对其进行路由。我想知道是否有办法将路径从/category/:id 更改为/category/:name。我补充说:
match "/categories/:name" => "categories#show"
在routes.rb 中的资源行上方,并将控制器中的show 操作更改为:
@category = Category.find_by_name(params[:name])
它可以工作,但像link_to some_category 这样的“魔法路径”仍然使用:id 格式。
有没有办法做到这一点?如果这是一个坏主意(由于 rails 在内部工作的某些可能方式),还有其他方法可以实现吗?例如,/categories/music 和 /categories/3 都可以工作?
【问题讨论】:
标签: ruby-on-rails routing seo