отправить переменную в контроллер с помощью метода link_to rails 3 - PullRequest
4 голосов
/ 10 февраля 2012

У меня проблема с link_to для отправки переменной. С form_for и кнопка submit работает нормально, но мне нужно отправить данные с link_to.

Это прекрасно работает с form_for:

<%= form_for (@post), :method => :post,  :remote => true, :html => { :id => "#{@post.id}" }, :url => { :controller => "posts", :action => "follow", :post_id => post.id } do |f|  %> 
<%= f.submit "Follow" %>
<% end %>

Это не работает: (:

<%= link_to post_path(@post), :method => :post, :remote => true, :html => { :id => "#{@post.id}" }, :url => { :controller => "posts", :action => "follow", :post_id => post.id }  do%> 
<em></em>
<%= "Follow" %>
<% end %> 

Это последнее, link_to не отправляет параметры, и мой контроллер не получает параметры и получает тип ошибки InvalidFind (вызов документа # find с nil недопустим):

Отредактировано:

Я нашел решение ... параметры должны быть установлены в целевой Параметр:

<%= link_to post_path(:post_id => post.id), :method => :post, :remote => true, :html => { :id => "#{@post.id}" }, :url => { :controller => "posts", :action => "follow" }  do%> 

1 Ответ

8 голосов
/ 10 февраля 2012

Вы отправляете параметры с любыми помощниками по URL / путям. Просто передайте пары хэш-ключ / значение следующим образом.

<%= link_to post_path(@post, :my_param => "param value"), .... %>
...