【发布时间】:2011-01-27 13:22:52
【问题描述】:
我想将文章的标题添加到其 url,类似于 SO URL。有人建议我在answer 中使用以下设置来回答我的另一个问题
# routes.rb
match '/articles/:id/:title' => 'articles#show', :as => :article_with_title
# articles/index.html.erb
link_to article.title, article_with_title_path(article, :title => article.title.downcase.gsub(/[^a-z0-9]+/,' ').strip.gsub(/\s+/,'-'))
它有效,但我觉得它有点多余。有没有办法让它变得更好?处理多条路由的额外通用方法怎么样?
match '/articles/:id/:title' => 'articles#show'
match '/users/:id/:name' => 'users#show'
etc.
备注:
- 目前以下路线工作正常:
/article/:id/:action,/article/:id/:title,条件是文章不能有标题edit, show, index, etc. - 我认为这里不需要
friendly_id,因为路由明确包含:id。 - 正如我所见,SO 对问题
/question/:id/:title、/posts/:id/:action和用户/users/:id/:name、/users/:action/:id使用不同的路由
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 seo routes helper