关于删除Ruby on Rails中的一对一关系

时间:2012-05-16 11:11:01

标签: ruby-on-rails ruby ruby-on-rails-3.1

我对一对一关系有疑问 我有一个模特

Car 
 has_one:company

Company:
  belongs_to:car

因此我在公司模型中有car_id列。因此,当为特定公司创建新车并传递参数时,car_id值会自动更新为创建的新car_id。
然而,当我销毁或删除某辆汽车时,相应公司的car_id不会更新为nil.It仍然是不可取的,因为没有这样的car_id存在。我想将相应公司的car_id字段更改为nil删除特定的汽车。

2 个答案:

答案 0 :(得分:4)

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

这应该在公司表中将car_id设置为null。但是,我想知道这种关联是否应该是has_one_through而不是has_one。

答案 1 :(得分:2)

 Car 
    has_one:company, :dependent => :nullify

这样做