cache_page(content = nil, options = nil)
public
Manually cache the content in the key determined by
options. If no content is provided, the contents of response.body
is used If no options are provided, the requested url is used. Example:
cache_page "I'm the cached content", :controller => "lists", :action => "show"
Show source
def cache_page(content = nil, options = nil)
return unless self.class.perform_caching && caching_allowed?
path = case options
when Hash
url_for(options.merge(:only_path => true, :format => params[:format]))
when String
options
else
request.path
end
if (type = Mime::LOOKUP[self.content_type]) && (type_symbol = type.symbol).present?
extension = ".#{type_symbol}"
end
self.class.cache_page(content || response.body, path, extension)
end