2016-12-21 10 views
0

Ich habe eine einfache Bruchstück Cache:cache_unless berechnet noch den Cache Schlüssel obwohl die Bedingung wahr ist

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

Die Seite wird nicht zwischengespeichert wird, wenn ich in versengt, das ist, was ich will, aber die Cacheschlüssel wird noch berechnet und ich kann ActiveRecord-Abfragen in meinem Protokoll sehen.

Ich erwartete, dass der Cache den neuen Cache-Schlüssel nicht berechnet, wenn die Bedingung wahr war.

Antwort

0

musste ich, wenn sonst Logik einfach verwenden:

if user_signed_in? 
    #render uncached resources 
else 
    #cache 
end 
Verwandte Themen