我有以下模型:
class PhoneNumber < ActiveRecord::Base
has_many :personal_phone_numbers, :dependent => :destroy
has_many :people, :through => :personal_phone_numbers
end
我想设置一个观察者在延迟作业队列中运行一个动作,该队列在大多数情况下都有效,但有一个例外。我希望 before_destroy 观察者在电话号码被销毁之前抓住与电话号码相关的人,而延迟的工作实际上是在这些人身上起作用。
问题是,当一个电话号码被销毁时,它会:personal_phone_numbers
先销毁记录,然后在它试图销毁电话号码时触发观察者。到那时,为时已晚。
在删除依赖记录之前,有什么方法可以观察销毁操作?