2010-09-03 57 views
1

快速的问题:导轨 - 删除的一个一对多的关系,一面

如果我有一个一对多的关系,比如这个:

class SalesPerson < ActiveRecord::Base 
    has_many :deals 
end 

class Deal < ActiveRecord::Base 
    belongs_to :sales_person 
end 

我该怎么删除销售人员,而不会对与其相关的交易产生负面影响?如果有人离开了这个组织,用例就是这样。我们仍然需要数据库中的交易记录,但不再需要销售人员记录。

销售人员拥有一个活跃/不活跃的标志会更好吗?

谢谢。

回答

1

对于这种情况我使用acts_as_paranoid,基本上它增加了一个新的时间戳列:deleted_at并覆盖了你的一些AR发现者。

+0

用于软删除的+1 - 在之前的组织中,我们专门使用它们,并且他们不止一次地保存了我们的烟头。 – dstarh 2011-03-03 20:26:43