aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_controller/caching.rb24
1 files changed, 13 insertions, 11 deletions
diff --git a/actionpack/lib/action_controller/caching.rb b/actionpack/lib/action_controller/caching.rb
index 3434f5f9da..e6e42b9126 100644
--- a/actionpack/lib/action_controller/caching.rb
+++ b/actionpack/lib/action_controller/caching.rb
@@ -12,7 +12,10 @@ module ActionController #:nodoc:
module Caching
def self.included(base) #:nodoc:
base.send(:include, Pages, Actions, Fragments)
- base.send(:include, Sweeping, SqlCache) if defined?(ActiveRecord)
+ if defined?(ActiveRecord)
+ require 'active_record/query_cache'
+ base.send(:include, Sweeping, SqlCache)
+ end
base.class_eval do
@@perform_caching = true
@@ -656,20 +659,19 @@ module ActionController #:nodoc:
end
end
end
-
- if defined?(ActiveRecord)
- module SqlCache
- def self.included(base) #:nodoc:
+
+ module SqlCache
+ def self.included(base) #:nodoc:
+ if defined?(ActiveRecord) && ActiveRecord::Base.respond_to?(:cache)
base.alias_method_chain :perform_action, :caching
end
-
- def perform_action_with_caching
- ActiveRecord::Base.cache do
- perform_action_without_caching
- end
+ end
+
+ def perform_action_with_caching
+ ActiveRecord::Base.cache do
+ perform_action_without_caching
end
end
end
-
end
end