expire_fragment(key, options = nil) public

Removes fragments from the cache.

key can take one of three forms:

  • String - This would normally take the form of a path, like "pages/45/notes".

  • Hash - Treated as an implicit call to url_for, like {:controller => "pages", :action => "notes", :id => 45}

  • Regexp - Will remove any fragment that matches, so %r{pages/\d*/notes} might remove all notes. Make sure you don’t use anchors in the regex (^ or $) because the actual filename matched looks like ./cache/filename/path.cache. Note: Regexp expiration is only supported on caches that can iterate over all keys (unlike memcached).

options is passed through to the cache store’s delete method (or delete_matched, for Regexp keys.)

Show source
Register or log in to add new notes.
April 9, 2009
1 thank

Outside of app code

How do I call this from script/console?

February 12, 2010
1 thank

re: Options

@ramanavel - The options are dependent on the cache store that you’re using. You’ll need to have a look at what the cache store you’re using allows.

e.g. MemCacheStore allows the use of time criteria based :expires_in, most of the cache stores don’t.

http://guides.rubyonrails.org/caching_with_rails.html might provide a little more information.

December 21, 2009
0 thanks

Expire cache from console or whatever...

I know only one possible method:

ApplicationController.new.expire_fragment(:your_fragment)

February 9, 2010
0 thanks

Options

What are all the options here please?…