Rails - лучший способ реализовать дополнительное кэширование фрагментов в целях тестирования - PullRequest
2 голосов
/ 28 января 2010

Я часто использую фрагментное кэширование, и для меня это важно для хорошей производительности. Однако из-за сложности используемого мной кэширования мне нужно предложить своим тестировщикам способ отключить / включить кэширование в качестве переменной сеанса. (Только для пользователей)

Я думал о реализации cache_disabled? метод, и теперь я проверяю его значение везде, где я использую кеш. Теперь я застрял в следующем фрагменте кэширования и не могу понять, как правильно интегрировать эту проверку:

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

Мне нужно, чтобы содержимое вызывалось, когда кэширование отключено или содержимое еще не кэшировано.

спасибо за ваше творчество! (Пожалуйста, держите его сухим)

1 Ответ

3 голосов
/ 28 января 2010

В вашем приложении помощник вы можете попробовать:

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

Затем замените ваши вызовы cache () на extra_cache ().

...