Не уверен, как создать это, так что здесь идет ...
У меня есть следующий тег link_to:
<%= link_to("My test title",{:controller=>"search", :action=>"for-sale", :title => listing.title, :search_term => search_term, :id=> listing.id}) %>
и следующий пользовательский маршрут в моем файле rout.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-адрес «искажается», знаете, как я могу это сделать?
Пробовал несколько вариантов, но, похоже, ничего не работает.
Спасибо!