尽管条件为真,cache_unless仍会计算缓存键

时间:2016-12-21 17:31:53

标签: ruby-on-rails activerecord russian-doll-caching

我有一个简单的fragement缓存:

-cache_unless user_signed_in?, ['show', @question, @question.user.username, @question.user.score, @question.user.avatar_url] do 

当我进入时,页面没有被缓存,这就是我想要的,但是,缓存键仍在计算中,我可以在我的日志中看到ActiveRecord查询。

如果条件为真,我原以为缓存不会计算新的缓存密钥。

1 个答案:

答案 0 :(得分:0)

我必须使用简单的if else逻辑:

if user_signed_in? 
  #render uncached resources
else
  #cache 
end