0

私は次のことをしたい:

after_commit :on => :destroy do
  Advert.clean_total_active_cache
end

しかし、このようなオブザーバーのような方法で:

class AdvertObserver < ActiveRecord::Observer
  def after_commit advert
    Advert.clean_total_active_cache
  end
end

それは「:on =>:destroy」です、それは私に問題を引き起こしています、どうすればそれを指定できますか?

4

1 に答える 1

0

レコードが永続化および凍結されていないかどうかを確認できます。

class AdvertObserver < ActiveRecord::Observer
  def after_commit advert
    if not advert.persisted? and advert.frozen?
      Advert.clean_total_active_cache
    end
  end
end
于 2012-08-07T09:51:15.023 に答える