0

データベースにアイテムを作成する 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 %>

「ディベートの表示」ページには、2 回表示される別のフォームもあります。

<%= 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 つのフォームのいずれかで送信ボタンをクリックすると、3 つの新しい討論が表示されます。

4

1 に答える 1

0

あなたのコードは、これらの余分なレコードを作成している可能性があると思います。

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

私の仮定が正しい場合.debatesは関連付けであり、その行との関連付けを作成しています。

使ってみてbuild

= form_for(@debate.debates.build) do |support_form|
于 2011-06-12T18:06:18.343 に答える