【发布时间】:2019-04-01 11:53:43
【问题描述】:
我必须将我的表单转换为不使用嵌套关联。换句话说,而不是
<%= link_to_add_association f, :contacts, class: 'btn btn-primary', partial: 'projects/contact_fields', data: {
association_insertion_node: '.contact_fields', association_insertion_method: :append
} do %>
<i class="fas fa-plus"></i>
<% end %>
<%= f.fields_for :contacts do |contact| %>
<%= render 'projects/contact_fields', f: contact %>
<% end %>
我希望能够只传递一个用作容器的字符串(类似于使用 field_for 的方式)。
<%= link_to_add_association 'contacts[]', 'projects/contact_fields', class: 'btn btn-primary', partial: 'projects/contact_fields', data: {
association_insertion_node: '.contact_fields', association_insertion_method: :append
} do %>
<i class="fas fa-plus"></i>
<% end %>
<% @contacts.each_with_index do |contact, index| %>
<%= fields_for "contacts[#{index}]", contact do |c| %>
<%= render 'projects/contact_fields', f: c %>
<% end %>
<% end %>
【问题讨论】:
-
Cocoon 使用关联来确定如何创建要插入的对象,因此使用字符串
"contacts[]"将不起作用。你实际上想要完成什么?您没有实际的嵌套关系,但想要编辑/管理数组或集合? -
是的......这正是我想做的......只是不知道如何正确地问这个问题。
标签: cocoon-gem