ActionController::Caching::Fragments
Fragment caching is used for caching various blocks within views without caching the entire action as a whole. This is useful when certain elements of an action change frequently or depend on complicated state while other parts rarely change or can be shared amongst multiple parties. The caching is done using the cache helper available in the Action View. See ActionView::Helpers::CacheHelper for more information.
While it’s strongly recommended that you use key-based cache expiration (see links in CacheHelper for more information), it is also possible to manually expire caches. For example:
expire_fragment('name_of_cache')
Files
- actionpack/lib/action_controller/caching/fragments.rb
3Notes
Naming fragment cache
One of the common ways of using fragment caching is to cache content that's shared across the site (eg. left navigation, menus, widgets etc.) that looks and works the same regardless of the name of the action or controller calling it. In such cases it's very easy to just use named fragment caching eg.:
<% cache('left_nav') do -%> <%= display_left_nav -%> <% end -%>
expires_in option
@concept47 do you really need to check the fragment in the controller?
ActiveRecord will execute the query when its used
cars = Car.where(:colour => 'black') # No Query cars.each {|c| puts c.name } # Fires "select * from cars where ..."
"Lazy Loading" - http://m.onkey.org/active-record-query-interface
You have explain well
You have explain well about fragment caching as I was in need of this information. http://autobodycarparts.com