我有一个具有深度嵌套的表单,用于创建属性模板。property_template has_many property_template_fields 和 property_template_field has_many property_template_options。
一切正常,除了当我已经创建了一个字段并且该字段有 1 个或多个选项时,我尝试只删除一个选项。我希望它只删除该选项,但是当我单击它时,它会删除所有选项和字段。有没有办法让我只移除那个孩子而不移除它的父母或兄弟姐妹?
_form.html.erb
<%= simple_form_for [:admin, @property_template] do |f| %>
<ul id="properties">
<fieldset>
<div>
<%= f.input :name %>
<ul>
<div>
<%= f.simple_fields_for :property_template_fields do |property| %>
<%= render "property_template_field_fields", :f => property %>
<% end %>
</div>
<br />
<div><%= link_to_add_association "Add Property", f, :property_template_fields, :partial => "property_template_field_fields" %></div>
</ul>
</div>
<%= f.submit %>
</fieldset>
</ul>
_propety_template_fields
<div class="nested-fields" >
<li><%= f.input :name, label:"Field Name" %></li>
<li style='float:right;'><%= link_to_remove_association "Remove", f %></li>
<ul>
<div>
<%= f.simple_fields_for :property_template_options do |option| %>
<%= render "property_template_option_fields", :f => option %>
<% end %>
</div>
</ul>
<div style='float:right;'><%= link_to_add_association "Add Option", f, :property_template_options, :partial => 'property_template_option_fields' %> | </div>
_propety_template_options
<li style='padding-left:35px;'><%= f.input :value, :label => 'Field Option' %></li>
<li style='float:right;'><%= link_to_remove_association "Remove Option", f %></li>
<%= f.hidden_field :position %>