expire_fragment
expire_fragment(name, options = nil)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 not supported on caches which can’t iterate over all keys, such as memcached.
4Notes
Outside of app code
How do I call this from script/console?
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.
Expire cache from console or whatever...
I know only one possible method:
====
ApplicationController.new.expire_fragment(:your_fragment)
Options
What are all the options here please?...