Rails - не сохранять дочерний объект, если используются «где» или области - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь изменить дочерний объект, и если я использую области или где его фильтровать, изменение не сохраняется, когда я вызываю .save для родительского объекта.

object = Object.find(@id)
object.children.where(active: true).each do |c|
   c.active = false
end 
object.save

вот так, объект не сохраняется, но если я сделаю это:

object = Object.find(@id)
object.children.each do |c|
   c.active = false if c.active == true
end 
object.save

работает нормально, что я делаю не так?

Ruby v2.4.5p335

Rails v5.2.3

@ Edit

Рабочая: enter image description here Не работает: enter image description here

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