Как автоматически уничтожить пользователя для acceptpts_nested_attributes_for - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть User с несколькими Posts

class User
  has_many :posts
  accepts_nested_attributes_for :posts, allow_destroy: true
end

class Post
  belongs_to :user
end

В контроллере я буду обновлять через

@user.update({ posts_attributes: [{uuid:'blah1'},{uuid:'blah2'}] })

Я надеюсь, что он может автоматически уничтожать несуществующие posts в каждом обновлении.

@user.update({ posts_attributes: [{uuid:'blah1'},{uuid:'blah2'}] }) # create blah1, create blah2
@user.update({ posts_attributes: [{uuid:'blah2'},{uuid:'blah3'}] }) # delete blah1, create blah3

Как мне этого добиться?

Обновление:

Я знаю, что это можно сделать через

@user.update({ posts_attributes: [{uuid:'blah1',:_destroy:true},{uuid:'blah2'},{uuid:'blah3'}] })

Но это не прилично с моей точки зрения.Может ли это быть внутри модели вместо внешней модели?

Обновление:

Я нашел эту ссылку , но она выглядит намного сложнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...