如何解决在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|
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。