轨道中的片段缓存 3.



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

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以获取更多信息。

相关内容

  • 没有找到相关文章

最新更新