2013-04-01 18 views
0

我试图在断开方法中将Cabinet的设备属性设置为null。 cabinets_controller调用@cabinet.devices.destroy(@device),这工作正常。在我这样做之前,我想设置@device.row_id = nil@device.position = nil。它们都是Device模型中的Fixnum和attr_accesible。我称这种方法时,他们不会在数据库中被修改。有没有一种方法可以调用@device来实现此目的?Rails - 将db字段设置为null从另一个对象的控制器

谢谢。

+1

我有点困惑。你是否试图在摧毁它之前更新记录? – atw13

+0

销毁方法仅删除关联。在这种情况下,它会从设备记录中删除cabinet_id。 –

回答

1

我猜你试图在没有完全删除@device的情况下中断@cabinet和@device之间的连接。如果你已经确定@device属于@cabinet,它可能是更简单的做一些事情,如:

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

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

+0

啊是的!我真是个傻瓜。谢谢@sockmonk。 –

相关问题