fresh_when(record_or_options, additional_options = {})
Instance Public methods
Sets the etag, last_modified
, or both on the response and
renders a 304 Not Modified
response if the request is already
fresh.
Parameters:
-
:etag
. -
:last_modified
. -
:public
By default the Cache-Control header is private, set this totrue
if you want your application to be cachable by other devices (proxy caches).
Example:
1 2 3 4 | def show @article = Article.find(params[ :id ]) fresh_when(etag: @article , last_modified: @article .created_at, public: true ) end |
This will render the show template if the request isn't sending a
matching etag or If-Modified-Since header and just a 304 Not
Modified
response if there's a match.
You can also just pass a record where last_modified
will be
set by calling updated_at
and the etag by passing the object
itself.
1 2 3 4 | def show @article = Article.find(params[ :id ]) fresh_when( @article ) end |
When passing a record, you can still set whether the public header:
1 2 3 4 | def show @article = Article.find(params[ :id ]) fresh_when( @article , public: true ) end |
Please login to continue.