Один щелчок по кнопке отправки в форме_ приводит к 3 элементам в моей базе данных - PullRequest
0 голосов
/ 12 июня 2011

У меня есть форма в приложении rails, которая создает элемент в моей базе данных, но когда я отправляю форму, она создает 3 элемента за клик.

У меня есть 2 другие формы, которые добавляют вещи к тому жебаза данных, но они находятся на разных страницах, это может быть связано?

Это моя форма на странице "Новые дебаты":

<%= form_for(@debate) do |f| %>
  <div class="field">
    <%= f.label :proposition %><br />
    <%= f.text_field :proposition %>
   </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

У меня также есть другая форма на "шоустраница обсуждения », которая появляется дважды:

<%= form_for(@debate.debates.create) do |support_form| %>
  <div>
    <%= support_form.label :content %><br />
    <%= support_form.text_area :content %>
  </div>
  <%= support_form.hidden_field :is_supporting, :value => is_supporting %>
  <div class="actions">
    <%= support_form.submit %>
  </div>
<% end %>

И когда я нажимаю кнопку« Отправить »в любой из трех форм, я получаю 3 новых обсуждения.

1 Ответ

0 голосов
/ 12 июня 2011

Я думаю, ваш код может создавать эти дополнительные записи.

= form_for(@debate.debates.create) do |support_form|

Если мое предположение верно, .debates является ассоциацией, и вы создаете эту связь с этой линией.

Попробуйте использовать build

= form_for(@debate.debates.build) do |support_form|
...