在javascript中向simple_form添加输入

时间:2013-09-27 12:39:38

标签: javascript jquery ruby-on-rails simple-form

我有一个rails 3应用程序,其中用户has_many地址。我正在尝试创建一个表单,用户可以通过单击加号图标添加字段来创建新地址。问题是我无法使用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>

当用户点击“添加”时,他是redirect_to我的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>

1 个答案:

答案 0 :(得分:1)

这个答案很长,但是在Railscasts #197