我有一个 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>