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