Ruby on rails Rails3中的片段缓存

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

我有一个使用气压计gem获取天气数据的分部。问题是,每次加载页面时,gem都会再次拉入天气提要。是否可以使用片段缓存来缓存部分内容,但缓存的版本只能使用3-4小时?这样,天气数据将保持最新,并且gem不必每次都提取全新的数据。

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::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
哦,好的。谢谢你的帮助!