diff options
author | Paul Horsfall <horsfallp@gmail.com> | 2008-04-19 16:19:47 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2008-04-19 16:21:34 -0500 |
commit | 14a40804a29a57ad05ca6bffbe1e5334089593a9 (patch) | |
tree | 80e2d5f38334327a70a368cc2e57fc8c2e8f7c1c /actionpack/lib/action_controller | |
parent | 3f8d3cd04ff0bd7cbf70c11d49a3dc009dfa98a0 (diff) | |
download | rails-14a40804a29a57ad05ca6bffbe1e5334089593a9.tar.gz rails-14a40804a29a57ad05ca6bffbe1e5334089593a9.tar.bz2 rails-14a40804a29a57ad05ca6bffbe1e5334089593a9.zip |
Add conditional options to caches_page method [#25 state:resolved]
Signed-off-by: Joshua Peek <josh@joshpeek.com>
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r-- | actionpack/lib/action_controller/caching/pages.rb | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/caching/pages.rb b/actionpack/lib/action_controller/caching/pages.rb index 755f1e4e0a..7aa6ce154b 100644 --- a/actionpack/lib/action_controller/caching/pages.rb +++ b/actionpack/lib/action_controller/caching/pages.rb @@ -78,10 +78,18 @@ module ActionController #:nodoc: # Caches the +actions+ using the page-caching approach that'll store the cache in a path within the page_cache_directory that # matches the triggering url. + # + # Usage: + # + # # cache the index action + # caches_page :index + # + # # cache the index action except for JSON requests + # caches_page :index, :if => Proc.new { |c| !c.request.format.json? } def caches_page(*actions) return unless perform_caching - actions = actions.map(&:to_s) - after_filter { |c| c.cache_page if actions.include?(c.action_name) } + options = actions.extract_options! + after_filter({:only => actions}.merge(options)) { |c| c.cache_page } end private |