ruby ​​на рельсах after_remove, after_add обратные вызовы на has_many: через

У меня есть модель, которая соответствует следующему шаблону:

class foo < ActiveRecord::Base

  has_many :bar, :dependent => :destroy

  has_many :baz, :through => :bar, :uniq => true,
    :after_add => :update_baz_count,
    :after_remove => :update_baz_count

  def update_baz_count(record)
    debugger
    # stuff...
  end
end

Я пытаюсь поддерживать количество уникальных baz, связанных с foo through bar. Но по какой-то причине обратные вызовы after_add и after_remove никогда не вызываются, когда я добавляю панель (которая должна иметь baz) в foo. Есть идеи, почему? Я использовал эти обратные вызовы с habtm, и они работают нормально.

Спасибо.

6
задан deruse 6 June 2011 в 07:17
поделиться