Проверяйте все ассоциации перед уничтожением в рельсах

В моем приложении есть важная модель со множеством ассоциаций. Если я хочу проверить все ссылки в обратном вызове before_destroy, мне придется сделать что-то вроде:

has_many :models_1
has_many :models_2
mas_many :models_3
....
....
has_many :models_n

before_destroy :ensure_not_referenced

def :ensure_not_referenced
   if models_1.empty? and models_2.empty? and models_3.empty? and ... and models_n.empty?
       return true
   else
       return false
       errors.add(:base,'Error message')
   end
end

Вопрос в том, есть ли способ выполнить все проверки сразу? Спасибо!

8
задан Dario Barrionuevo 10 June 2011 в 01:22
поделиться