我有以下两种型号:
class Device < ApplicationRecord
belongs_to :hardware_device
...
class HardwareDevice < ApplicationRecord
has_many :devices
...
当我这样做时:
@hardware_device.devices.update_all(active: false)
链接到hardware_device的设备的活动状态保持为真。
但是如果我运行以下代码:
@hardware_device.devices.first.update(active: false)
它工作正常,并且将active设置为false。我在这里想念什么?
答案 0 :(得分:0)
找到了问题的原因。我有
after_initialize :init
def init
self.active ||= true
end
在设备模型中。将其更改为:
def init
if new_record?
self.active ||= true
end
end
解决了问题。