4

Rails3.1アプリケーションでgemnested_formを使用しています。問題は、「link_to_add」によって生成されたリンクをクリックすると、部分が2回表示されるのに対し、1回だけ表示されることです。そこにいくつかのコードがあります:

形:

<%= 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」を2回ロードしていたため、部分を同じ回数追加する関数を呼び出していたということです。

またすみません。

4

3 に答える 3

4

愚かな間違い、愚かな私。時間を無駄にしてしまったら申し訳ありませんが、問題は「nested_form.js」を2回ロードしていたため、部分を同じ回数追加する関数を呼び出していたということです。

于 2011-12-22T18:27:25.900 に答える
1

rails 4 / Turbolinksを使用してこの問題が発生し、nested_form.jsが2回含まれていない場合は、application.jsからturbolinksを削除してみてください。これを実行してサーバーをバウンスすると、この問題は解決されました。

ここでのクレジット:https ://github.com/ryanb/nested_form/issues/307

于 2014-01-23T02:08:45.610 に答える
0

私は同じ問題に直面していました。

アプリケーションレイアウトファイルにnested_form.jsを含めました。

また、app / Assets / javascripts / application.jsファイルは変更していません。これは、railsアプリケーションの作成時に作成されたときの状態です。

アプリケーションレイアウトからエントリを削除すると、問題は解決しました。

于 2012-01-12T13:01:18.980 に答える