[英]Rails - set a db field to null from another object's controller
我试图在断开连接方法中将机柜的设备属性设置为null。 cabinets_controller调用@cabinet.devices.destroy(@device)
,它可以正常工作。 在此之前,我想设置@device.row_id = nil
和@device.position = nil
。 它们在设备模型中都是Fixnum和attr_accesible。 当我调用此方法时,它们不会在数据库中更改。 有没有一种方法可以调用@device
来实现这一目标?
谢谢。
我猜您正在尝试断开@cabinet和@device之间的连接,而没有完全删除@device。 如果您已经确定@device属于@cabinet,则执行以下操作可能会更简单:
@device.row_id = nil
@device.position = nil
@device.cabinet_id = nil
@device.save!
基本上,您需要调用.save或.save! 将其他字段设置为nil后,在@device上; 当您使用它时,也可以用这种方式设置cabinet_id。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.