I just sent a patch to Lighthouse that extends caches_action functionality.
A couple of changes were made to ActionController::Caching::Actions:
* Added conditional option (:if) to caches_action method (just like in caches_page)
* Added :layout flag to caches_action method. If you specify :layout => false, the layout will not be cached, only the action content. This is useful since most application has user info in the layout. If the :layout is not set (nil) or set to true, we have the default behavior.
* Changes were documented
* Tests were added
* Test bug fix: added sleep(0.01) to assure that Time.now will be different.
, José Valim.
ps: I'm just sending this e-mail cause Lighthouse says so. Apologies if I am off-topic. =)