我正在尝试关注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
有什么问题?
答案 0 :(得分:7)
您的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。它为你做到了这一点,但更透明。