Ruby on rails Rails3中的片段缓存
我有一个使用气压计gem获取天气数据的分部。问题是,每次加载页面时,gem都会再次拉入天气提要。是否可以使用片段缓存来缓存部分内容,但缓存的版本只能使用3-4小时?这样,天气数据将保持最新,并且gem不必每次都提取全新的数据。cachehelper函数包含3个参数:Ruby on rails Rails3中的片段缓存,ruby-on-rails,ruby-on-rails-3,caching,Ruby On Rails,Ruby On Rails 3,Caching,我有一个使用气压计gem获取天气数据的分部。问题是,每次加载页面时,gem都会再次拉入天气提要。是否可以使用片段缓存来缓存部分内容,但缓存的版本只能使用3-4小时?这样,天气数据将保持最新,并且gem不必每次都提取全新的数据。cachehelper函数包含3个参数: def cache(name = {}, options = nil, &block) if controller.perform_caching safe_concat(fragment_for(n
def cache(name = {}, options = nil, &block)
if controller.perform_caching
safe_concat(fragment_for(name, options, &block))
else
yield
end
nil
end
如果在第二个参数中提供过期密钥,它将被传递到write\u fragment
并最终传递到缓存本身
像这样:
-cache "cache_path", :expires => 3.hours do
=cached_fragment_code
我建议阅读
ActionView::Helpers::cachehehelper
了解更多信息。cachehelper函数包含3个参数:
def cache(name = {}, options = nil, &block)
if controller.perform_caching
safe_concat(fragment_for(name, options, &block))
else
yield
end
nil
end
如果在第二个参数中提供过期密钥,它将被传递到write\u fragment
并最终传递到缓存本身
像这样:
-cache "cache_path", :expires => 3.hours do
=cached_fragment_code
我建议阅读
ActionView::Helpers::CacheHelper
了解更多信息。谢谢,但您能告诉我它在哪里显示了与:expires选项相关的内容吗?我已经看过了,但似乎没有太多,它没有确切地说出来,你必须从字里行间读出来。options
参数最终被发送到Rails.cache.write(key,options,value)
,因此它接受Rails.cache.write所接受的任何选项。您可以查看文档中使用的Rails缓存的任何版本,以获得有关该方法的更多详细信息,但我认为他们都理解:expires
哦,好的。谢谢你的帮助!谢谢,但是你能告诉我它在哪里说了关于:expires选项的内容吗?我已经看过了,但似乎没有太多,它没有确切地说出来,你必须从字里行间读出来。options
参数最终被发送到Rails.cache.write(key,options,value)
,因此它接受Rails.cache.write所接受的任何选项。您可以查看文档中使用的Rails缓存的任何版本,以获得有关该方法的更多详细信息,但我认为他们都理解:expires
哦,好的。谢谢你的帮助!