Аз съм на Rails 4, използвайки най-новия скъпоценен камък Cocoon. Всичко работи перфектно; единственият ми проблем е, че когато премахна вложени полета, връзката за добавяне остава. Както в README, връзката за добавяне е в _form, докато връзката за премахване е в _[model]_fields. Използвам SimpleForm:
_form.html.erb
<%= simple_form_for(@group) do |f| %>
<%= f.input :name, :label_html => { class: "col-md-2" }, :input_html => { class: "col-md-10" } %>
<div id="group_names">
<%= f.simple_fields_for :group_names do |subgroup| %>
<%= render 'group_name_fields', :f => subgroup %>
<div class="links">
<%= link_to_add_association 'add', f, :group_names %>
</div>
<% end %>
</div>
<% end %>
_group_names_fields.html.erb
<div class="nested-fields">
<%= f.input :subgroup, :label_html => { class: "col-md-2" }, :input_html => { class: "col-md-10" }, :required => false %>
<%= link_to_remove_association "remove", f %>
</div>
Какво пропуснах? Забележка: Не ми липсва бутон за изпращане, подаването работи както и изтриването. Просто връзката за добавяне не изчезва. За нещо толкова просто съм сигурен, че просто съм направил нещо нередно, но изглежда не мога да го забележа. В противен случай мисля да опаковам връзката за добавяне в оператор if, но не съм сигурен какво може да бъде това условие.
Благодаря!