nested_form显示部分两次

时间:2011-10-04 13:35:18

标签: ruby-on-rails ruby-on-rails-3.1 nested-forms nested-form-for

我在Rails 3.1应用程序中使用gem nested_form。问题是当我点击“link_to_add”生成的链接时,它会显示部分两次,而它应该只显示一次。你去了一些代码:

形式:

<%= nested_form_for @product, :html => {:multipart => true} do |f| %>

  <%= f.fields_for :safety_info_files %>
  # adds a link for displaying the template
  <%= f.link_to_add "Add file", :safety_info_files %>
  <div class="actions">
  <%= f.submit %>
  </div>
<% end %>

模板:

<div class="fields">
  <%= f.link_to_remove "remove" %><br />
  <%= f.label :doc, "File" %>
  <%= f.file_field :doc %><br />
</div>

其他人有同样的问题吗?

编辑:

愚蠢的错误,傻我。对不起,如果我让你们中的一些人浪费时间,问题是我正在加载“nested_form.js”两次,所以它调用了附加部分相同次数的函数。

再次抱歉。

3 个答案:

答案 0 :(得分:4)

愚蠢的错误,傻我。对不起,如果我让你们中的一些人浪费时间,问题是我正在加载“nested_form.js”两次,所以它调用了附加部分相同次数的函数。

答案 1 :(得分:1)

对于那些使用rails 4 / turbolinks并且没有找到包含两次nested_form.js的问题的人,请尝试从application.js中删除turbolinks。一旦我这样做并退回服务器,这个问题就解决了。

在此信用:https://github.com/ryanb/nested_form/issues/307

答案 2 :(得分:0)

我遇到了同样的问题。

我在应用程序布局文件中包含了nested_form.js。

我还没有更改我的app / assets / javascripts / application.js文件,它是在创建rails应用程序时创建的。

当我从应用程序布局中删除条目时,问题就解决了。