2012-05-16 56 views
2

我有一個關於一個問題的一對一的關係 我有一個模型關於刪除一對一的關係在Ruby on Rails的

Car 
has_one:company 

Company: 
    belongs_to:car 

這樣一個結果,我有公司模型中的car_id列。因此,當爲特定公司創建新車並傳遞參數時,car_id值會自動更新爲所創建的新car_id。
但是,當我銷燬或刪除某個特定的汽車時,相應公司的car_id不會更新爲零。它保持不變,因爲它不存在,因爲沒有這樣的car_id存在。我想將相應公司的car_id字段更改爲零當我刪除特定的汽車。

回答

4
class Car 
    has_one :company, :dependent => :nullify 
end 

這應該在公司表中設置car_id爲null。但是,我想知道這個關聯應該是has_one_through而不是has_one。

+0

感謝的人!有效! – Vivalavista

2
Car 
    has_one:company, :dependent => :nullify 

這將做到這