Repository is archived
No commit activity in last 3 years
No release in over 3 years
Cache render calls in Rails controllers.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme
= Render Caching

Cache render calls in Rails controllers.


== Install

First install the gem.

  gem install ryanb-render-caching --source=http://gems.github.com

Then specify it in your Rails config.

	config.gem 'ryanb-render-caching', :lib => 'render_caching', :source => 'http://gems.github.com'

Rails 2.1 or later required.


== Usage

This gem adds the render_with_cache method to all controllers. Call 
this inside of an action to cache the view.

	def show
	  @user = User.find(params[:id])
	  render_with_cache
	end

This will cache the full rendered contents into a key matching the URL 
path (similar to action caching). You can change this key by simply 
passing any parameter.

	def show
	  @user = User.find(params[:id])
	  render_with_cache @user.cache_key
	end

Cache key is a method supplied by Rails. This includes the updated_at 
time which will give you an auto-expiring cache when the user record is 
updated.

You can also supply a block to the render call which will only get 
executed if there is no cache. Here is a good place to do any custom 
render calls.

	def show
	  @user = User.find(params[:id])
	  render_with_cache @user.cache_key do
	    render :layout => false
	  end
	end


== Development

This project can be found on github at the following URL.

http://github.com/ryanb/render-caching/

If you would like to contribute to this project, please fork the 
repository and send me a pull request.