2013-04-15 78 views
1

有沒有像ActionController::Base#skip_before_filter這樣的ActiveRecord回調方法,如after_create?我有幾個行爲相似的類,爲了減少代碼重複,我創建了一個抽象類。抽象包含關係信息,驗證和創建新消息的回調函數after_createMessage實現了這個抽象,因此保存消息會導致堆棧溢出。在繼承模型中跳過回調

我可以從模型中刪除回調嗎?

class Parent < ActiveRecord::Base 
    self.abstract_class = true 
    after_create :notify 

    def notify 
     Message.create 
    end 
end 

class Message < Parent 
    # skip after_create :notify 
end 

class Child < Parent 
end 

回答

2
class Message < Parent 
    skip_callback :create, :after, :notify 
end 

檢查Rails Documentation的細節