6

我的模型中有一个 after_commit on: :create 回调,它被调用了两次。这个回调中有六个方法,其中一些是插入到我的数据库中的。我担心事情会变慢,我的数据库会增长得太快。

奇怪的是我的 before_create after_create 回调只执行一次。这可能是什么原因造成的?

4

2 回答 2

6

简短回答:使用 after_save 而不是 after_commit

长答案:如何在 Rails 中组织复杂的回调?

于 2012-08-04T02:46:37.787 回答
0

我发现使用 before_create 解决了这个问题。

当您使用:

user = User.new
user.save

您每次都在触发 before_save 钩子。

before_create

应该管用

于 2013-08-29T00:17:49.923 回答