4

我在Rails 3.1應用程序中使用gem nested_form。問題是,當我點擊由「link_to_add」生成的鏈接時,它顯示部分兩次,而它應該只顯示一次。你去那裏一些代碼:nested_form顯示部分兩次

形式:

<%= 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」,所以它調用了附加部分相同次數的函數。

對不起。

+0

你是如何解決的加載兩次?是文件的兩個副本,還是鏈接相關的? – ZMorek

+0

ZMorek這是一個非常愚蠢的錯誤,我在application.js中需要nested_forms.js(通過'require_tree。'),然後明確地再次加載它(使用javascript_include_tag)。你有類似的問題嗎? – davids

+0

我把'nested_forms.js'放到'/ vendor/assets/javascripts /'中,好像它加載了兩次。我沒有添加標籤,但它在我的'application.js'中。我已經修好了幾次,我想我可能需要嘗試更多的變體,刪除編譯後的文件,然後重新編譯。運行「rails g nested_form:install」的 – ZMorek

回答

4

愚蠢的錯誤,愚蠢的我。對不起,如果我讓你們中的一些人浪費時間,問題是我加載了兩次「nested_form.js」,所以它調用了附加部分相同次數的函數。

0

我面臨同樣的問題。

我已將nested_form.js包含在我的應用程序佈局文件中。

而且我還沒有改變我的app/assets/javascripts/application.js文件,它是在創建rails應用程序時創建的。

當我從應用程序佈局中刪除條目時,問題就解決了。

1

對於那些使用rails 4/turbolinks而未找到包含兩次nested_form.js的此問題,請嘗試從application.js中刪除turbolinks。一旦我做到了這一點,並退回服務器這個問題已解決。

信用這裏:https://github.com/ryanb/nested_form/issues/307