我有一个after_commit on ::在我的模型中创建回调,并且它被调用两次。此回调中有六种方法,其中一些方法是插入到我的数据库中。我担心事情会变慢,我的数据库会变得太快。
奇怪的是我的before_create after_create回调只执行一次。可能导致这种情况的原因是什么?
答案 0 :(得分:4)
简答:使用after_save而不是after_commit
答案 1 :(得分:0)
我发现使用before_create解决了这个问题。
使用时:
user = User.new
user.save
您每次都在触发before_save挂钩。
before_create
应该有效