Observer doesn't work properly... in development?

Hey all!

Ok, weird problem with observer. Most of the time, the after_create of UserObserver isn't called. It's like it just skips it altogether. However, when I stop the server, add a line "debugger" in the after_create block, and restart the server with the debugger option, and try creating a user again, the callback is executed! If I remove the debugger in the block and restart the server, it's back to ignoring it. Another thing, if I leave the debugger line in the after_create block, but restart the server _without_ the debugger option, when I create a user I see in the logs:

***** Debugger requested, but was not available: Start server with --debugger to enable *****

So, it tells me that it somewhat enters the after_create method but doesn't execute my BackgroundRB Middleman job?

Anyone else see this behavior before?

I asked around in #rubyonrails in freenode and someone mentioned that it might be because I'm running it in development mode. He vaguely remembers a way to run observers properly. I want it to run in development too, of course. Funny thing is, as far as I can tell, my after_save methods are always called.

I hope you guys can help.

Thanks!

I transferred the callback to the model, and it seems that it's the same problem. I think the problem lies in BackgroundRB then, not Rails or the observer. Thanks for reading my previous mail though! Off to the backgroundrb mailing list.

Hi Ramon, I would recommend creating an environment file called staging.rb by doing the following:

cd <RAILS_APP_ROOT>/config/environments

cp production.rd staging.rb

Next, you’ll need to create staging section within your database.yml located in cd <RAILS_APP_ROOT>/config

cd <RAILS_APP_ROOT>

script/server staging

In short, your staging environment will be used to mimic the actual production environment without hitting the

production server. You don’t really want to start changing the development.rb to work like the production.rb.

Good luck,

-Conard

Thanks conrad this'll be useful :slight_smile: