expire_fragment(name, options = nil) public

Name can take one of three forms:

  • String: This would normally take the form of a path like "pages/45/notes"
  • Hash: Is treated as an implicit call to url_for, like { :controller => "pages", :action => "notes", :id => 45 }
  • Regexp: Will destroy all the matched fragments, example:
      %r{pages/\d*/notes}
    

    Ensure you do not specify start and finish in the regex (^$) because the actual filename matched looks like ./cache/filename/path.cache Regexp expiration is only supported on caches that can iterate over all keys (unlike memcached).

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?…