2

ユーザーが 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>
4

1 に答える 1