简单表格删除关联记录

时间:2019-02-07 16:49:48

标签: ruby-on-rails ruby-on-rails-5 simple-form

我正在使用simple_form,并且可以为用户提供快速删除关联记录的功能。 (例如,“检查/松开”) simple_form怎么可能?还有其他宝石可以帮助您吗?

父母有很多孩子

<%= simple_form_for @parent do |f| %>

  <%= f.simple_fields_for :childens do |p| %>
    <%= p.input :title, as: :boolean %>
  <% end %>

<% end %>

导轨5.2

1 个答案:

答案 0 :(得分:1)

您不需要其他宝石。您需要做几件事:

  • 在父模型的allow_destroy: true中添加accepts_nested_attributes_for :children
  • 向嵌套表单添加<%= p.input :_destroy, as: :boolean %>
  • 通过在_destroy调用的children_attributes中将控制器中的permit伪属性列入白名单

本质上,这是Rails的accepts_nested_attributes_for的功能-它设置children_attributes设置程序不仅可以创建/更新关联的记录,还可以在存在_destroy的情况下删除它们。传递的哈希值。