Rails: как отключить обратный вызов before_destroy, когда он уничтожается из-за того, что родительский объект уничтожается (: independent =>: destroy)

У меня два класса: Parent и Child с

Child:

belongs_to :parent

и

Parent

has_many :children, :dependent => :destroy

Проблема в том, что я хочу проверить, всегда ли присутствует хотя бы один дочерний элемент, поэтому у меня есть метод before_destroy в Child, который прерывает уничтожение, если это единственный дочерний элемент, принадлежащий своему родителю.

И, если я хочу уничтожить родительский элемент, он вызовет обратный вызов before_destroy для каждого дочернего элемента, но когда есть один дочерний элемент, он прервет уничтожение, поэтому родительский элемент никогда не будет уничтожен.

Как я могу сказать дочернему элементу вызывать обратный вызов before_destroy, только если он не уничтожается из-за своего родителя?

Спасибо!

19
задан Jose Valenzuela Demarco 27 January 2012 в 00:09
поделиться