отправка конкретных данных формы с помощью RoR link_to и jQuery submit () - PullRequest
0 голосов
/ 01 мая 2011

Я не могу понять, как отправить конкретные данные в метод Rails update () с помощью метода jQuery submit (). Вот фрагмент кода, с которым я работаю:

<% form_for(vote, :remote => true) do |f| %>
    <%= check_box_tag "selection", vote.id %>
<% end %>

...

<%= link_to 'Vote Yes', ballots_path, :onclick => "$('.edit_vote').submit()", :class => "buttons" %>
<%= link_to 'Vote No', ballots_path, :onclick => "$('.edit_vote').submit()", :class => "buttons" %>

По сути, в таблице голосования есть логическое поле с именем «утверждение», и я хочу обновить это поле с помощью двух ссылок выше («Голосовать» -> «Утверждение» = «Истина»; «Нет» -> «Утверждение» = «Ложь»).

Изначально у меня было <% = check_box_tag "selection", voice.id%> как <% = f.check_box: Approval%>, и я мог отправить форму с помощью кнопок Да / Нет, но это не та функциональность, которую я хотел , Мне нужно, чтобы кнопки «Да / Нет» фактически были значением подтверждения, флажок установлен только для того, чтобы пользователь мог выбрать, за какой объект голосовать.

Это картина того, что я пытаюсь сделать: http://i.stack.imgur.com/QZqnw.png

Есть идеи, как мне поступить?

Ответы [ 2 ]

3 голосов
/ 09 августа 2012

Возможно, это из-за удаленной формы, которая использует настраиваемое действие отправки.Я нашел совет в Google о том, как подделать щелчок по кнопке отправки вместо отправки самой формы.Например:

:onclick => "this.form.submit.click();"

Предполагается, что есть кнопка «Отправить» с именем «отправить».Если у вас нет кнопки отправки, вы всегда можете добавить ее и настроить отображение на «нет», чтобы скрыть ее, например:

<%= submit_tag 'Opslaan', :name => 'submit', :style => 'display: none;' %>
0 голосов
/ 05 мая 2011

Метод jQuery .submit () просто вызывает событие 'submit' в форме.Другими словами, это работает так же, как нажатие кнопки «отправить» в этой форме.Я предполагаю, что у вас есть форма, охватывающая весь список с классом edit-vote.

На первый взгляд, похоже, что ваша первая проблема в том, что вы можете вкладывать сюда теги form.Теги форм не могут быть вложенными, и если вы это сделаете, вы получите странное и неожиданное поведение, если они вообще будут работать.

Попробуйте просто снять form_for вокруг каждого флажка.Пока ваш метод update написан для принятия публикуемых вами данных, он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...