2011-09-30 80 views
0

我有幾個before_saveafter_save需要在Ruby on Rails項目中彼此共享對象實例的回調函數。我認爲添加一個名爲load_object的方法,我將對象加載到一個實例變量中可以做到這一點。這對before_save驗證正常工作,但該對象並沒有持續到方法鏈after_save。無論如何要確保它在兩個集合周圍,同時保持我的代碼乾爽?Ruby on Rails:如何讓ActiveRecord回調加載回調之間的共享變量

回答

2

這很奇怪,回調在同一個實例上運行,並且任何實例變量都應該仍然可用(儘管沒有持久化)。但您可以隨時使用around_save回撥

around_save :do_something 

def do_something 
    #beforesave things 
    yield 
    #aftersave things 
end 
相關問題