我正在尝试更改子对象,并且如果我使用范围或在哪里进行过滤,则当我在父对象上调用.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
@编辑