我有一个合约模型,其中包含对时间轴的belongs_to。时间轴是可选的,只对该特定合同有意义,并且可以创建该值,然后在以后删除,因此当contract.timeline设置为nil时,我需要删除时间轴。目前,contract.timeline可以通过控制器中的contract.update(params)设置为nil,因此我获得了孤儿时间轴记录。当父对象与该对象的关联失去时,删除时间轴的最佳方法是什么?
答案 0 :(得分:1)
有一个内置的:依赖,你可以传递给belongs_to调用。代码看起来像:
class Contract < ActiveRecord::Base
belongs_to :timeline, dependent: :destroy
end
答案 1 :(得分:0)
您可以使用before_filter手动删除不再需要的时间轴。