вспомогательная функция cache
принимает 3 аргумента:
def cache(name = {}, options = nil, &block)
if controller.perform_caching
safe_concat(fragment_for(name, options, &block))
else
yield
end
nil
end
, если вы укажете ключ срока действия во втором аргументе, он будет передан в write_fragment
и, в конечном итоге, в сам кэш.
Как это:
-cache "cache_path", :expires => 3.hours do
=cached_fragment_code
Я рекомендую прочитать в ActionView::Helpers::CacheHelper
для получения дополнительной информации.