ruby-on-rails - 如何在 Rails 应用程序中使用 link_to 将文章标题添加到 URL?

标签 ruby-on-rails ruby-on-rails-3 seo link-to

我正在尝试关注 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/

相关文章:

ruby-on-rails - 此 IF 循环的最佳实践应被视为什么?

html - Rails active_link_to img 按钮 CSS 显示文件名而不是 img

node.js - 忽略 http 方法和路径的 API 的缺点

ruby-on-rails - Rails 本地化 - 翻译缺失

ajax - 用于 SEO 的 CouchDB URL 重写

events - 如何在 Google Analytics 中检查哪个设备点击了我的跟踪事件?

ruby-on-rails - 无法自动加载 Rails 4 猴子补丁

ruby-on-rails - 通过 Yarn 添加 jQuery 插件(owl carousel)到 Rails 6 项目

ruby-on-rails-3 - Rails 3 - 设计request.referer总是有sign_in url

ruby-on-rails - Rails - 将字段添加到模型后的奇怪行为