ruby-on-rails-3 - links - rails link_to params
Rails 3 UJS: Pasar en params al usar link_to (2)
Cómo pasar en parámetros adicionales además de la ID
#we want to pass in additional params as well
<%= link_to "bleh", like_path(answer), :add_param=>2 , :remote=>"true" ,:method=>:post %>
Puede pasar parámetros en la función de ruta como parte de la url. Algo como:
<%= link_to "bleh",
like_path(:answer_id => 123, :add_param => 2),
:remote=> true , :method=> :post %>
# would result in something like
# yourapp.com/like/aswer/3?add_param=2
Pero creo que necesita alejarse del asistente de ruta puramente basado en recursos en este caso. Revise la documentation para ideas.
Si no desea colocar los parámetros en el ayudante de ruta, tal vez porque hay muchos de ellos o no los conoce cuando se genera la página, también puede data-params
atributo data-params
.
Por ejemplo:
link_to "Add to cart", cart_path,
data: { method: :post, remote: true, params: { product_id: 123 }.to_param }
El HTML generado se ve así:
<a data-params="product_id=123" data-remote="true" data-method="post"
href="/cart" rel="nofollow">Add to cart</a>
El controlador JQuery UJS adjunta todo, desde el atributo data-params
hasta el cuerpo de solicitud POST.
Conceptualmente, no hay mucha diferencia en utilizar el ayudante de ruta en primer lugar, pero si desea modificar los parámetros en Javascript, esta solución podría generar un código más elegante.