2012-08-07 66 views
0

我要做到以下幾點:after_commit:上=>:摧毀在觀測樣方式

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「,這會給我帶來麻煩,我該如何指定它?

回答

0

您可以檢查記錄不會保持和冷凍:

class AdvertObserver < ActiveRecord::Observer 
    def after_commit advert 
    if not advert.persisted? and advert.frozen? 
     Advert.clean_total_active_cache 
    end 
    end 
end