在form_for中单击提交按钮会在我的数据库中产生3个项目

问题描述

|| 我的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种表单中的任何一种上的“提交”按钮时,我会得到3种新的辩论。     

解决方法

        我认为您的代码可能正在创建这些额外的记录。
= form_for(@debate.debates.create) do |support_form|
如果我的假设正确,则
.debates
是一个关联,并且您正在与该行创建该关联。 尝试使用
build
= form_for(@debate.debates.build) do |support_form|
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...