0

我试图在断开连接的方法中将机柜的设备属性设置为空。cabinets_controller 调用@cabinet.devices.destroy(@device)并且工作正常。在我这样做之前,我想设置@device.row_id = niland @device.position = nil。它们在设备模型中都是 Fixnum 和 attr_accesible。当我调用此方法时,它们不会在数据库中被更改。有没有一种方法可以调用@device来实现这一点?

谢谢。

4

1 回答 1

1

我猜您正在尝试断开@cabinet 和@device 之间的连接,而没有完全删除@device。如果您已经确定 @device 属于 @cabinet,则执行以下操作可能更直接:

@device.row_id = nil
@device.position = nil
@device.cabinet_id = nil
@device.save!

基本上你需要调用 .save 或 .save!在将其他字段设置为 nil 后在 @device 上;当您使用它时,您也可以这样设置cabinet_id。

于 2013-04-01T15:50:39.670 回答