2013-04-01 20 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。 –

相關問題