Thanks Rob. That almost fixed it. Solution is this: 1. Create a file called rails/init.rb 2. Put this in it:
config.after_initialize do ActiveRecord::Base.observers << Authorizer::UserObserver ActiveRecord::Base.observers << Authorizer::ObjectObserver end No more need for the user to mess with config/environment.rb. I found it thanks to http://riotprojects.com/post/106808946/activerecord-observers-in-gems-plugins It also works fine in development mode. Because of the post from Riotproject I was expecting trouble, but this hasn't occurred. On Sat, Jul 2, 2011 at 3:55 PM, Rob Biedenharn <[email protected]>wrote: > > On Jul 2, 2011, at 5:17 AM, Commander Johnson wrote: > > Hey, > > I have a gem called 'authorizer' which does authorization for me. It has > two observer classes that need to be added to the list of ActiveRecord > observers: > > config/environment.rb: > > require "authorizer/user_observer" > require "authorizer/object_observer" > > config.active_record.observers = "Authorizer::UserObserver", > "Authorizer::ObjectObserver" > > This gives me the error: > > `load_missing_constant': uninitialized constant Authorizer::ActiveRecord > (NameError) > > This problem is solved by copying the gem's source files into the lib/ > folder or by using a plugin. But I don't want that. How can I ensure the gem > is loaded AFTER the Rails framework is loaded? > > This is on Rails 2.3.11 > > All the best, > CmdJohnson > > > I'm not sure if this works when you have to reference the 'config' object, > but you can wrap code inside a block and use the #after_initialize method: > > config.after_initialize do > config.active_record.observers = "Authorizer::UserObserver", > "Authorizer::ObjectObserver" > end > > -Rob > > Rob Biedenharn > [email protected] http://AgileConsultingLLC.com/ > [email protected] <[email protected]> > http://GaslightSoftware.com/ > > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Talk" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

