After_saved called twice -- how to fix?

I have an after_save callback setup, but it’s getting called twice.
Per
https://rails.lighthouseapp.com/projects/8994/tickets/764-observers-on-a-model-are-called-multiple-times
, this is a known issue that won’t be fixed. (In summary, rails
doesn’t convert required files to absolute paths, so files get
required twice, and their callbacks are registered twice.) The fixes
that are offered just haven’t worked for me, and I don’t know why.

Can anyone offer any sort of solution or work around?

Thanks!

On Aug 30, 3:30 pm, richardsugg [email protected] wrote:

I have an after_save callback setup, but it’s getting called twice.
Perhttps://rails.lighthouseapp.com/projects/8994/tickets/764-observers-o…
, this is a known issue that won’t be fixed. (In summary, rails
doesn’t convert required files to absolute paths, so files get
required twice, and their callbacks are registered twice.) The fixes
that are offered just haven’t worked for me, and I don’t know why.

Can anyone offer any sort of solution or work around?

Why are you requiring the file with different paths in multiple
places?

Fred

I’m not, rails is.

On Aug 30, 11:00 am, Frederick C. [email protected]

First - in the subject I said “after_save” but meant “after_create”
but the issue is the same. I think I may have just figured it out,
but perhaps you could verify. I have a project model and events
models. When I create a project, I loop through an array that creates
default events. I noticed that all the events were getting created
twice. Here’s the Project model:

class Project < ActiveRecord::Base
has_many :events
after_create :after_create

def after_create
## create my default events
end
end

The problem, I think, is that after_create is called automatically,
and you only need to have the “after_create :after_create” line if the
callback is named something besides callback event. Once I took out
the “after_create :after_create” line, it seemed to work. I didn’t
try it, but I suppose I could have left it in but named the method
something besides “after_create” like “add_default_events.”

So is what I have said correct?

Thanks for taking the time to help me with this.

On Aug 30, 12:26 pm, Frederick C. [email protected]

On Aug 30, 4:13 pm, richardsugg [email protected] wrote:

I’m not, rails is.

you’re going to have to explain a little more about how this is
arising if you want anyone to be able to give concrete advice.

Fred

On 30 August 2010 17:39, richardsugg [email protected] wrote:

something besides “after_create” like “add_default_events.”

So is what I have said correct?

Yes, that’s correct. It was being called twice because you had defined
the ‘after_create’ method, which gets called automatically, and you
had added your ‘after_create’ method to the after_create callback
chain by calling ‘after_create :after_create’.

Chris

okey doke – thanks for the confirmation.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs