不知道如何构图,所以这里......
我有以下 link_to 标签:
<%= link_to("My test title",{:controller=>"search", :action=>"for-sale", :title => listing.title, :search_term => search_term, :id=> listing.id}) %>
以及我的 routes.rb 文件中的以下自定义路由:
map.connect ':controller/:action/:title/search_item/:id', :controller=>'search', :action=>'for_sale'
这会生成一个非常好的 SEO 友好 URL:
/search/for-sale/sometitle/searchterm/123456
如何从两者中删除 :action 参数,问题是当我取出 :action 选项并将我的 link_to 标记更改为:
<%= link_to("My test title",{:controller=>"search", :title => listing.title, :search_term => search_term, :id=> listing.id}) %>
和我的自定义路线:
map.connect ':controller/:title/search_item/:id', :controller=>'search', :action=>'for_sale'
生成的 URL 不再对 SEO 友好而且非常难看:
/search?title=test&search_term=test&id=1141409
我的自定义路由重定向到控制器中的正确操作,因此 URL 中不需要操作选项。每当我删除 :action 选项或将其重命名为其他内容时 - URL 会“变形”,你知道我该怎么做吗?
尝试了多种选择,但似乎没有任何效果。
谢谢!