Ruby on Rails 3: após o método destroy para destruir o objeto, se não houver mais objetos relacionados no sistem

Tenho um pequeno problema, tenho os 2 modelos a seguir:

class CriticalProcess < ActiveRecord::Base



  has_many :authorizations, :dependent => :destroy
  has_many :roles, :through => :authorizations
  after_destroy :check_roles

  def check roles
     cp_roles = self.roles
     cp_roles.each do |role|
       if role.critical_processes.size == 0
          role.destroy
       end
     end
  end
end

class Role < ActiveRecord::Base

  has_many :authorizations
  has_many :critical_processes, :through => :authorizations

end

função @ 1 pode pertencer a muitos processos críticos; existe alguma maneira de fazê-lo seTODO os processos críticos aos quais o papel pertencia deveriam ser destruídos, para que também fossem destruídos? Eu preciso disso porque se todos os PCs (Processos críticos) com os quais os papéis tinham um relacionamento deveriam ser destruídos, o papel também deveria ser destruído, pois não é mais necessári

ATUALIZA

Agora eu criei um método after_destroy que deve excluir as funções, mas isso não parece estar funcionando, por algum motivo, após a depuração usando os logs, não está circulando pela matriz por algum motiv

por que é isso

Obrigad

questionAnswers(2)

yourAnswerToTheQuestion