2010-04-27 44 views
1

我的link_to标签:如何在Rails中获得link_to输出SEO友好的url?

<%= link_to("My test title",{:controller=>"search", :action=>"for-sale", :id=> listing.id, :title => listing.title, :search_term => search_term}) %> 

,并产生这种丑陋的网址:

http://mysite.com/search/for-sale/12345?title=premium+ad+%2B+photo+%5Btest%5D 

我怎样才能得到的link_to生成:

http://mysite.com/search/for-sale/listing-title/search-term/12345 

一直试图这样几个不同的方式和网上找不到,真的很感谢任何帮助!

+0

你看过像slugify的东西吗? – Fred 2010-04-27 03:10:00

回答

1

塔河看看this

在你的config/routes.rb文件

map.connect ':controller/:action/:title/search_item/:id', :controller=>'search', :action=>'for_sale' 

重新启动服务器,并检查添加此。 希望帮助:)

+0

不错的 - 一个魅力! – Jason 2010-04-27 14:58:10

+0

下面是Rails 3更详细的答案:http://stackoverflow.com/questions/4794231/how-to-add-article-title-to-url-using-link-to-in-rails-app/4794319 #4794319 – Andrei 2011-01-25 16:44:28

0

您需要更改routes.rb中的URL结构以匹配您想要的URL的外观,并在控制器方法的参数中相应地解析参数。