Ruby on Rails 3: ¿después del método de destrucción para destruir el objeto si no hay más objetos relacionados en el sistema?
Tengo un pequeño problema, tengo los siguientes 2 modelos:
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
l rol @So 1 puede pertenecer a muchos procesos críticos, ¿hay alguna forma de hacerlo siTODO los procesos críticos a los que pertenecía el rol debían ser destruidos, ¿entonces para que también se destruyera? Necesito esto porque si todos los PC (procesos críticos) con los que los roles tenían una relación fueran destruidos, entonces el rol también debería destruirse ya que ya no es necesario.
ACTUALIZA
Ahora he creado un método after_destroy que debería eliminar los roles, pero esto no parece funcionar, por alguna razón, después de la depuración utilizando los registros, ¿no está recorriendo la matriz por alguna razón?
¿Por qué es esto
Gracia