假設我必須簡單型號First
和Second
,並且存在一對一的關係從Second
使用belongs_to :first
。現在我想用Second
做點什麼,當保存First
。但我不想在First
中設置after_save
回調,來處理Second
。ActiveRecord從不同型號回撥設置
我想讓我的模特保持清潔,儘可能不讓對方感覺到。我總是遵循對象封裝的最佳實踐,並且總是讓我的生活更輕鬆。
所以很自然的,因爲after_save
是一個類的方法,我試圖建立這種回調在Second
,像這樣:
class Second < ActiveRecord::Base
belongs_to :first
First.after_save do |record|
if that = Second.find_by_first_id(record.id)
# grow magic mushrooms here...
end
end
end
但這不起作用,永遠不會執行該回調,並沒有錯誤上調。
事實上,觀察者解決我的問題,我不知道他們的存在,謝謝。 – skrat 2010-09-20 13:22:41