Имам следния модел:
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
и след това задейства наблюдателя, когато се опита да унищожи телефонния номер. В този момент вече е твърде късно.
Има ли някакъв начин да се наблюдава действието за унищожаване преди зависимите записи да бъдат изтрити?