如何将两个缓存加入到模型中

时间:2017-11-17 17:20:15

标签: ruby-on-rails ruby caching

我需要将两个列表缓存到我的模型中,以构建一个新的缓存列表

我已尝试过以下代码,但cached_groups正在产生空结果。有什么想法吗?

  def cached_favgroups
    Rails.cache.fetch([self, "fav_groups"]) {fav_groups.to_a}
  end

  def cached_groups_all
    Rails.cache.fetch([self, "groups"])
  end

  def cached_groups
    Rails.cache.fetch(self.cached_groups_all - self.cached_favgroups )
  end

1 个答案:

答案 0 :(得分:2)

您需要向fetch方法添加一个块。试试这个:

def cached_groups
  Rails.cache.fetch([self, "groups_all_favgroups"]) do
    self.cached_groups_all - self.cached_favgroups 
  end
end