2016-07-12 3 views
0

У меня есть приложение rails для управления публичными событиями. В представлении я пытаюсь кэшировать фрагмент, который истекает каждые 8 ​​часов. Фрагмент кэшируется успешно, но не заканчивается. Глядя на сайт сегодня, фрагмент показывает события с 23 июня, который в последний раз я вручную сбросил кеш фрагмента.Кэшированный фрагмент никогда не истекает

настоящее время я использую следующий фрагмент кода, который визуализирует список названий событий и дат:

- cache('sidebar-cache', :expires_in => 8.hour) do 
    = render "shared/sidebar_festivals" 

Я также попытался следующие (24 часов вместо 8) с той же проблемой:

- cache "sidebar_cache", expires: 1.day.from_now(Time.now.beginning_of_day) 
    = render "shared/sidebar_festivals" 

Я включено кэширование в файле конфигурации production.rb:

config.action_controller.perform_caching = true 

Есть ли что-то еще, что мне нужно для включения или завершения кэширования фрагментов?

Я использую Rails 4.2.1

Любая помощь очень ценится.

ответ

0

Проблема, с которой я столкнулась, связана с часовыми поясами. Часовой пояс на сервере был установлен в «Восточное стандартное время», тогда как сервер фактически находился в Лондоне. Приложение rails использовало UTC. Недостаточно совпадения, чтобы вызвать эту проблему.

Чтобы установить время на сервере Ubuntu, так как я использую здесь, запустить эту команду как корень и следуйте подсказкам

dpkg-reconfigure tzdata