Rails - 删除一对多关系的一侧

时间:2010-09-03 14:49:48

标签: ruby-on-rails one-to-many relationship

快速提问:

如果我有一对多的关系,例如:

class SalesPerson < ActiveRecord::Base
  has_many :deals
end

class Deal < ActiveRecord::Base
  belongs_to :sales_person
end

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

在销售人员身上有一个活动/非活动标志会更好吗?

感谢。

1 个答案:

答案 0 :(得分:1)

对于这种情况,我使用acts_as_paranoid,基本上它添加了一个新的时间戳列:deleted_at并覆盖了一些AR查找器。