我正在尝试跟随 answer 提问

How to get link_to in Rails output an SEO friendly url?

但没有得到结果。在我的 Rails 3 应用程序中,我有:

# routes.rb
match '/articles/:id/:title' => 'articles#show'
resources :articles

# articles/index.html.haml
- @articles.each do |article|
  = link_to article.title, article, :title => article.title

但是,重新启动服务器后,链接没有标题:/articles/1、/articles/2

怎么了?

最佳答案

您的 link_to 将使用来自 resources :articles 的路线。如果您希望它使用您定义的自定义路由,请命名该路由,然后在您的 link_to 中使用它:

# 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)

此外,您可能需要考虑使用 friendly_id 。它为您执行此操作,但更透明。

关于ruby-on-rails - 如何在 Rails 应用程序中使用 link_to 将文章标题添加到 URL?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4794231/

10-13 01:38