为什么我的Rails回调被调用两次?
问题描述:
我有一个after_commit on::在我的模型中创建回调,并且它被调用两次。在这个回调中有六个方法,其中一些被插入到我的数据库中。恐怕事情会放缓,我的数据库将会增长得太快。为什么我的Rails回调被调用两次?
奇怪的是,我的before_create after_create回调只能执行一次。什么可能导致这个?
答
我发现使用before_create解决的问题。
当你使用:
user = User.new
user.save
你是射击每次before_save钩。
before_create
应该工作
不幸的是,没有工作,还是双呼叫。 – Bholzer 2012-08-04 03:11:18
向我们展示一些代码,是否在回调中调用保存? – house9 2012-08-04 03:29:43
不,我不是,我应该吗? 'after_commit:func1,:func2,:func3,:func4,func5,:func6,on :: create# 尽管正在创建,但model.save似乎正在触发回调。这是正常的吗? – Bholzer 2012-08-04 03:41:29