How to get link_to in Rails output an SEO friendly

2019-05-31 08:13发布

My link_to tag is:

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

and produces this ugly URL:

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

How can I get link_to to generate:

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

Been trying this a few different ways and cannot find much online, really appreciate any help!

2条回答
我想做一个坏孩纸
2楼-- · 2019-05-31 08:46

You need to change the URL structure in routes.rb to match what you want the URL to look like, and parse the parameters accordingly in your controller method's args.

查看更多
Explosion°爆炸
3楼-- · 2019-05-31 08:51

Tahe a look at this

add this in your config/routes.rb

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

restart your server and check. Hope that helps :)

查看更多
登录 后发表回答