A link_to
всегда помещает аргументы в строку запроса при создании HTML-ссылки в стиле get - даже если вы добавите :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 , чтобы узнать, как это сделать.