Добавление текста на текущий URL через ссылку в рельсах - PullRequest
1 голос
/ 27 января 2011

Допустим, текущая страница пользователя:

http://0.0.0.0:3000/posts?direction=asc&sort=title

Сортировка по возрастанию, по названию.

Теперь предположим, что у меня есть поисковая система, что если вы, например, искали "курицу", URL может быть:

http://0.0.0.0:3000/posts?direction=asc&search=chicken&sort=title

Но вместо поиска я бы хотел создать такую ​​ссылку, как <a href="CODE HERE">Show all results for chicken</a>, которая добавляет & search = chicken к url, или, если поиск уже имеет значение, заменяет его.

Возможно ли это?

1 Ответ

6 голосов
/ 27 января 2011

Вы можете использовать функцию link_to без указания контроллера или действия. Просто укажите нужные аргументы, и для текущей страницы будет создан URL-адрес плюс эти параметры.

Обратите внимание, что вам нужно будет использовать существующий хеш params и объединить его с дополнительным элементом :search, в противном случае ваши аргументы direction и sort будут удалены из URL. Кроме того, если существует существующий элемент params[:search], он будет перезаписан слиянием.

<%= link_to "Show all results for chicken", params.merge({:search => "chicken"}) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...