Как cache_digests проверяет, изменилась ли модель?

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

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


person Inc1982    schedule 17.05.2013    source источник


Ответы (1)


Как говорится в документации:

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

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

person frandroid    schedule 17.05.2013