У меня есть небольшая проблема, у меня есть следующие 2 модели:
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
Так что 1 роль может принадлежать многим критическим процессам, есть ли способ, которым яможет ли быть так, что если ALL критические процессы, к которым принадлежала роль, должны были быть уничтожены, то и для этого тоже?Мне это нужно, потому что если все CP (критические процессы), с которыми у ролей были отношения, должны были быть уничтожены, то роль также должна быть уничтожена, поскольку она больше не нужна.
ОБНОВЛЕНИЕ
теперь создал метод after_destroy, который должен удалять роли, но, похоже, он не работает, по какой-то причине после отладки с использованием журналов по какой-то причине он не проходит через массив?
почему это так?
Спасибо