method
expires_in
v3.2.13 -
Show latest stable
- Class:
ActionController::ConditionalGet
expires_in(seconds, options = {})public
Sets a HTTP 1.1 Cache-Control header. Defaults to issuing a private instruction, so that intermediate caches must not cache the response.
Examples:
expires_in 20.minutes expires_in 3.hours, :public => true expires_in 3.hours, 'max-stale' => 5.hours, :public => true
This method will overwrite an existing Cache-Control header. See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html for more possibilities.
1Note
be aware that this writes to tmp/cache
Its supposed to be http caching, but Rails will actually cache the response to whatever you specified as the cache store, as well, but only if you specify :public => true. The default is filestore so it will try to write to tmp/cache.
Only a problem if you don't have the proper permissions set, in that scenario your apache/nginx logs could fill up very quickly with "permission denied errors"
Full explanation is here http://blog.tonycode.com/archives/418