Un link_to
siempre poner los argumentos en la cadena de consulta, ya que es la creación de un enlace HTML de estilo get - incluso si usted pone :method => :post
que simplemente añade un nuevo ("especial") argumento extra _method
.
Lo que creo que realmente quieres es un enlace button_to
- que lo convertirá en una especie de formulario de entrada. Funciona de la misma, pero no dice button_to
lugar (por ejemplo, button_to 'My link', path(:params => :go_here)
. La desventaja es que se verá como un botón. Pero usted puede darle una clase CSS (por ejemplo, "unbutton") y luego cambiar el estilo de esa clase CSS para que no se vea como un botón.
Alternativamente, si lo que realmente quiere es que en realidad no tenga params
pasado al controlador ... simplemente no los incluya al hacer su enlace (por ejemplo, link_to "My link" path
- no hay necesidad de :post
si no desea publicar ningún params
)
por último, si lo que queremos es que la params
para convertirse en una parte de la dirección URL (por ejemplo,., etc.) luego debe actualizar sus rutas para incluir estos parámetros como opciones. Eche un vistazo a la sección de enrutamiento de rdoc para saber cómo hacerlo.
Esta solución me ha llevado horas de google! Soy nuevo en Rails. button_to solucionó mi problema. Muchas gracias! – Will
Actualización sobre eso: 4.1 envía button_to con un parámetro params (con el gotcha de que no permite parámetros anidados, * masa *), donde los parámetros realmente se construyen utilizando campos ocultos. Eso es probablemente lo que quieres. – Felix
Neato ... bueno, mi consejo sigue siendo Rails pasado, pero es bueno ver que finalmente tienen una solución de algún tipo por ahí. –