У меня есть следующая модель:
class PhoneNumber < ActiveRecord::Base
has_many :personal_phone_numbers, :dependent => :destroy
has_many :people, :through => :personal_phone_numbers
end
Я хочу настроить наблюдателя для запуска действия в очереди delayed_job, которая работает по большей части, но с одним исключением. Я хочу, чтобы наблюдатель before_destroy захватил людей, связанных с телефонным номером, до того, как он будет уничтожен, и именно на этих людях действительно работает отложенная работа.
Проблема в том, что когда номер телефона уничтожается, он сначала уничтожает запись :personal_phone_numbers
, а затем запускает наблюдатель, когда пытается уничтожить номер телефона. В этот момент уже слишком поздно.
Есть ли способ наблюдать за действием уничтожения до удаления зависимых записей?