6
votes

I have an after_commit on: :create callback in my model, and it is being called twice. There are six methods in this callback, some of which are inserting into my database. I am afraid things are going to slow down AND my database is going to grow too quickly.

What's odd is that my before_create after_create callbacks are only executing once. What could be causing this?

2

2 Answers

6
votes

Short answer: use after_save instead of after_commit

Long answer: How to organize complex callbacks in Rails?

0
votes

I found using before_create solved the issue.

When you use the:

user = User.new
user.save

You are firing the before_save hook each time.

before_create

should work