ruby-on-rails – Rails不会触发我的after_commit回调
你好,我有一个特殊的问题.我使用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.所以它必须是我的设置.我仍然会感谢您对可能导致此问题的看法. Edit2:来自评论. > DB是MySQL,因此存在事务. 解决方法
大卫在问题评论中提到了这种行为的解释.
Transaction Callbacks documentation
也可以看看: > Rails Github Issue 3205 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |