Простая форма удалить связанную запись - PullRequest
0 голосов
/ 07 февраля 2019

Я использую simple_form, и я бы дал пользователю возможность быстро удалить связанную запись.(например, "проверка / снятие отметки") Как это возможно с simple_form?Есть еще один драгоценный камень, чтобы помочь с этим?

Родитель имеет много детей

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

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

<% end %>

Rails 5.2

1 Ответ

0 голосов
/ 07 февраля 2019

Вам не нужен еще один драгоценный камень для этого.Есть несколько вещей, которые вам нужно сделать:

  • Добавить 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 в переданном хэше.

...