2013-05-17 3 views
0

Мое понимание (и исправление меня, если я ошибаюсь) заключается в том, что в новом кеше cache_digests ключи кеша для фрагментов шаблона создаются из комбинации хеша md5 самого шаблона, зависимостей шаблонов и временных меток модели.Как cache_digests проверяет, изменилась ли модель?

Вопрос в том, как Rails знает, была ли обновлена ​​модель, и поэтому кеш должен быть недействительным? Кажется, Rails должен будет каким-то образом получить доступ к этим моделям, чтобы определить, будет ли генерация хеша будет отличаться от того, что уже находится в кеше. Если вам нужно загрузить модели для проверки, вы получаете мало значения из кэширования .. ясно, что я что-то пропустил .. ты можешь помочь?

ответ

0

As the docs say:

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

После того, как вы перезапустили приложение, вызов фрагмента с более старым хешем MD5 завершится неудачей, что приведет к перезагрузке кеша более поздней версии.