From 5aa58cc03fa96d290a902e8fd2e6d013bc5d6147 Mon Sep 17 00:00:00 2001 From: Michael Koziarski Date: Fri, 16 Apr 2010 09:47:11 +1200 Subject: Split the observer railtie into two phases. Observers observing models with scopes defined will require the connection to be established. --- activerecord/lib/active_record/railtie.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/activerecord/lib/active_record/railtie.rb b/activerecord/lib/active_record/railtie.rb index 04c4a9c153..878a4dac09 100644 --- a/activerecord/lib/active_record/railtie.rb +++ b/activerecord/lib/active_record/railtie.rb @@ -70,9 +70,7 @@ module ActiveRecord end end - initializer "active_record.load_observers" do - ActiveSupport.on_load(:active_record) { instantiate_observers } - + initializer "active_record.add_observer_hook", :after=>"active_record.set_configs" do |app| ActiveSupport.on_load(:active_record) do ActionDispatch::Callbacks.to_prepare(:activerecord_instantiate_observers) do ActiveRecord::Base.instantiate_observers @@ -80,6 +78,12 @@ module ActiveRecord end end + initializer "active_record.instantiate_observers", :after=>"active_record.initialize_database" do + ActiveSupport.on_load(:active_record) do + instantiate_observers + end + end + initializer "active_record.set_dispatch_hooks", :before => :set_clear_dependencies_hook do |app| ActiveSupport.on_load(:active_record) do unless app.config.cache_classes -- cgit v1.2.3