Don't cache actions with a page number
authorTom Hughes <tom@compton.nu>
Thu, 22 Jul 2010 18:53:11 +0000 (19:53 +0100)
committerTom Hughes <tom@compton.nu>
Thu, 22 Jul 2010 19:47:35 +0000 (20:47 +0100)
app/controllers/application_controller.rb

index c50c5f66491fcfea5493a52b7a2f73ab8828b05c..1605e1133e10a6108f64c97574ba10d749701ee9 100644 (file)
@@ -249,6 +249,16 @@ class ApplicationController < ActionController::Base
     options = actions.extract_options!
     cache_path = options[:cache_path] || Hash.new
 
+    options[:unless] = case options[:unless]
+                       when NilClass then Array.new
+                       when Array then options[:unless]
+                       else unlessp = [ options[:unless] ]
+                       end
+
+    options[:unless].push(Proc.new do |controller|
+      controller.params.include?(:page)
+    end)
+
     options[:cache_path] = Proc.new do |controller|
       cache_path.merge(controller.params).merge(:locale => I18n.locale)
     end