1
我有一个局部使用气压计的宝石拉动天气数据。问题是,每次页面加载时,宝石都会再次吸入天气。是否有可能缓存部分使用片段缓存,但只有缓存版本是好的说3-4小时?这样天气数据将保持最新状态,并且每次都不需要吸引全新的数据。片段在轨道缓存3
我有一个局部使用气压计的宝石拉动天气数据。问题是,每次页面加载时,宝石都会再次吸入天气。是否有可能缓存部分使用片段缓存,但只有缓存版本是好的说3-4小时?这样天气数据将保持最新状态,并且每次都不需要吸引全新的数据。片段在轨道缓存3
的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
获取更多信息。
谢谢,但你能否指出我在哪里说什么有关:expires选项?我在看[ttp://api.rubyonrails.org/](http://api.rubyonrails.org/classes/ActionView/Helpers/CacheHelper.html),但似乎没有太多 – 2011-05-06 02:04:00
它并没有完全说出来,你必须在行之间阅读。 'options'参数最终被发送到'Rails.cache.write(key,options,value)',因此它需要Rails.cache.write采用的任何选项。你可以查看你使用的任何版本的Rails缓存的文档,以获得关于该方法的更多细节,但我认为他们都明白':expires' – 2011-05-06 02:09:32
噢好吧。谢谢您的帮助! – 2011-05-06 02:58:10