Ответ 1
A link_to
всегда будет помещать аргументы в строку запроса, поскольку он создает ссылку HTML-стиля get-style - даже если вы поместите :method => :post
, который просто добавляет дополнительный ( "специальный" ) аргумент _method
.
Я думаю, что вы действительно хотите, это ссылка button_to
, которая превратит ее в своего рода форму-сообщение. Он работает так же, но вместо него говорит button_to
(например, button_to 'My link', path(:params => :go_here)
). Недостатком является то, что он будет выглядеть как кнопка. Но вы можете дать ему класс CSS (например, "unbutton" ), а затем изменить стиль на этом CSS-классе, чтобы он не выглядел как кнопка.
В качестве альтернативы, если вы действительно хотите, чтобы на самом деле не было никакого params
, переданного контроллеру... тогда просто не включайте их при создании своей ссылки (например, link_to "My link" path
- нет необходимости в :post
, если вы не хотите публиковать сообщения params
).
Наконец, если вы хотите, чтобы params
стал частью URL-адреса (например, stuff/[param_1]/more_stuff/[param_2]
и т.д.), вам необходимо обновить маршруты, чтобы включить эти параметры в качестве параметров. Посмотрите раздел маршрутизации rdoc, чтобы узнать, как это сделать.