ユーザーが has_many アドレスを持つ Rails 3 アプリケーションがあります。ユーザーがプラス アイコンをクリックして新しいアドレスを作成するためのフィールドを追加できるフォームを作成しようとしています。問題は、javascript を使用して simple_form に正しい名前のフィールドを追加できないことです。
フィールドは私のビューに適切に追加されていますが、それらはすべて同じ名前 : user[addresses_attributes][0][name]
ではなくuser[addresses_attributes][0 to x number][name]
. そのため、新しいアドレスを保存できません... 誰か助けてくれませんか?
私の edit_addresses.html.erb :
<%= simple_form_for(current_user) do |f| %>
<% current_user.addresses.each do |address| %>
<div class="address_preview">
<%= f.simple_fields_for :addresses, address do |a| %>
<%= a.input :name %>
<%= a.input :description %>
<% end %>
</div>
<% end %>
<% end %>
<a href='<%= new_address_path(current_user) %>' data-remote='true'>Add</i></a>
ユーザーが「追加」をクリックすると、彼は私の new.js.html ファイルにリダイレクトされます。
$('#addresses_container').append('<%= j render partial: 'new_address', locals: { target: @address } %>');
「new_address」パーシャルは次のとおりです。
<div class="address_preview">
<%= simple_form_for(current_user) do |f| %>
<% f.simple_fields_for :addresses, target do |t| %>
<%= t.input :name %>
<%= t.input :description %>
<% end %>
<% end %>
</div>