Rails 3 UJS: передача параметров при использовании link_to
Как передать дополнительные параметры, кроме ID
#we want to pass in additional params as well
<%= link_to "bleh", like_path(answer), :add_param=>2 , :remote=>"true" ,:method=>:post %>
Ответ 1
Вы можете передавать параметры в функции пути как часть URL-адреса. Что-то вроде:
<%= 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
Но я думаю, что в этом случае вам нужно отойти от вспомогательного помощника пути на основе ресурсов. Обратитесь к документации .
Ответ 2
Если вы не хотите вводить параметры в помощник пути - возможно, потому, что их много или вы не знаете их при создании страницы, вы также можете поместить их в data-params.
<a data-params="product_id=123" data-remote="true" data-method="post"
href="/cart" rel="nofollow">Add to cart</a>
Обработчик JJuery UJS привязывает все атрибуты data-params к телу запроса POST.
Понятно, что нет никакой разницы в использовании помощника путей, но если вы хотите изменить параметры в Javascript, это решение может дать более элегантный код.