aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/CHANGELOG2
-rw-r--r--actionpack/lib/action_controller/caching.rb5
2 files changed, 4 insertions, 3 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index a8211f5020..76b1a530e4 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* caches_page uses a single after_filter instead of one per action. #9891 [lifofifo]
+
* Update Prototype to 1.6.0_rc1 and script.aculo.us to 1.8.0 preview 0. [sam, madrobby]
* Dispatcher: fix that to_prepare should only run once in production. #9889 [Nathaniel Talbott]
diff --git a/actionpack/lib/action_controller/caching.rb b/actionpack/lib/action_controller/caching.rb
index 9ca0fa53df..3c2202e038 100644
--- a/actionpack/lib/action_controller/caching.rb
+++ b/actionpack/lib/action_controller/caching.rb
@@ -100,9 +100,8 @@ module ActionController #:nodoc:
# matches the triggering url.
def caches_page(*actions)
return unless perform_caching
- actions.each do |action|
- class_eval "after_filter { |c| c.cache_page if c.action_name == '#{action}' }"
- end
+ actions = actions.map(&:to_s)
+ after_filter { |c| c.cache_page if actions.include?(c.action_name) }
end
private