你好,我有一個奇怪的問題。我使用after_commit回調來發送通知,但似乎回調沒有被觸發。簡化的情況看起來像這樣:Rails不會觸發我的after_commit回調
class Message < ActiveRecord::Base
after_commit :do_something
def do_something
raise 'Doing something'
end
end
然後我希望在打開控制檯並創建消息時看到加註。但沒有任何反應。此外,如果我完全刪除'do_something'方法,rails甚至不會抱怨。請注意,這不是使用交易裝置的測試。我甚至可以看到在db中提交的記錄。我的rails版本是3.0.9。感謝任何幫助,特別是如果它是好的:-)
編輯:我後來知道,當我將代碼部署到不同的機器時,觸發DID被觸發。所以它必須是我的設置。不過,如果您對此有何看法,我會很感激。
編輯2:從評論。
- 該數據庫是MySQL,因此交易存在。
- 指定回調的動作沒有幫助(:on =>:create)。
- 我需要after_commit並沒有其他的回調
你如何創建控制檯模式 – felipeclopes
我通過一家工廠,也可以通過試了救也救不了!電話 – Renra
據我所知,他們都應該觸發回調,我也嘗試從生產控制檯。 – Renra