Ruby on rails 简单表单删除关联记录
我使用的是simple_表单,我会让用户能够快速删除相关记录。(例如“检查/取消检查”) 用简单的形式怎么可能呢?还有其他的宝石可以帮你吗 父母有许多子女Ruby on rails 简单表单删除关联记录,ruby-on-rails,ruby-on-rails-5,simple-form,Ruby On Rails,Ruby On Rails 5,Simple Form,我使用的是simple_表单,我会让用户能够快速删除相关记录。(例如“检查/取消检查”) 用简单的形式怎么可能呢?还有其他的宝石可以帮你吗 父母有许多子女 <%= simple_form_for @parent do |f| %> <%= f.simple_fields_for :childens do |p| %> <%= p.input :title, as: :boolean %> <% end %> <% end
<%= simple_form_for @parent do |f| %>
<%= f.simple_fields_for :childens do |p| %>
<%= p.input :title, as: :boolean %>
<% end %>
<% end %>
Rails 5.2您不需要另一块宝石。您需要做几件事:
- 将
添加到父模型中的allow\u destroy:true
accepts\u嵌套的\u属性\u:children
- 向嵌套表单添加
- 通过在
调用中的permit
中列出控制器中的children\u attributes
伪属性,将其列为白名单\u destroy
为
接受嵌套的属性-它设置子属性
setter,不仅创建/更新相关记录,而且在传递的哈希中出现\u destroy
时删除它们。我使用了类似于以前的方法来添加此行为。您只需要向取消选择/选择回调添加一个AJAX方法来添加/删除关联。