Pergunta

Estou usando muito o cache de fragmentos e é essencial para mim para um bom desempenho. No entanto, devido à complexidade do cache que estou usando, preciso oferecer aos meus testadores, uma maneira de desativar/ativar o cache como uma variável de sessão. (Apenas com base no usuário)

Eu estava pensando em implementar um cache_disabled? Método, e agora verifico seu valor em todos os lugares que uso o cache. Agora, estou preso à seguinte peça de cache e não consigo descobrir como integrar bem esta verificação:

<% cache(@cache_key_for_consultContent) do %>
     <div id="consult">
              <%= render :partial => 'LOTS_OF_CONTENT' %>
     </div>
<% end %>

Preciso que o conteúdo seja chamado quando o cache está desativado ou o conteúdo ainda não está em cache.

Obrigado pela sua criatividade! (Por favor, mantenha -o seco)

Foi útil?

Solução

Em seu ajudante de aplicativo, você pode tentar:

def optional_cache(key, &block)
  cache(key, &block) unless session[:disable_caching]
end

Em seguida, substitua suas chamadas para cache () por opcional_cache ().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top