#ruby-on-rails #heroku #cache-control
#ruby-on-rails #heroku #управление кэшем
Вопрос:
Я настраиваю CDN в своем приложении и устанавливаю в cache-control
соответствии с новыми стандартами в Rails 5:
config.public_file_server.headers = {
'Cache-Control' => 'public, max-age = 31536000',
'Expires' => "# {1.year.from_now.to_formatted_s (: rfc822)}"
}
Но когда я развертываю приложение в Heroku, это указывает на то, что я не использую новые стандарты:
ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕВАНИИ:
config.static_cache_control
устарело и будет удалено в Rails 5.1. Пожалуйста, используйтеconfig.public_file_server.headers = { 'Cache-Control' => 'public, max-age=604800' }
вместо этого. (вызывается из /app/config/application.rb:14)
И когда я просматриваю заголовки ответов страницы, которые не применяются cache-control
к set
Комментарии:
1. Вы уверены, что не сидите
config.static_cache_control
в другом месте? Потому что Heroku жалуется на это и предлагает использовать настройки так, как вы их внедрили.2. @JochemSchulenklopper следите за моим файлом production .rb pastebin.com/NJb24rkJ , мое приложение не использует static_cache_control, я уверен в этом, я действительно не понимаю, почему heroku предупреждает, что: /
3. Ах, так случайно ваше приложение устанавливало
config.static_cache_control
. Не в вашей конфигурации, а через драгоценный камень.
Ответ №1:
Эта запятая между значениями хэша отсутствует только в этом вопросе или также в вашей конфигурации? Попробуй это:
config.public_file_server.headers = {
'Cache-Control' => 'public, max-age = 31536000',
'Expires' => "# {1.year.from_now.to_formatted_s (: rfc822)}"
}
Комментарии:
1. в моем производственном файле с этой запятой я написал здесь неправильно, извините, перейдите по моей ссылке производство pastebin.com/NJb24rkJ файл, спасибо за помощь!
2. Хорошо, я редактирую ваш первоначальный вопрос (похоже, у вас пока недостаточно кармы для этого), чтобы исправить опечатку в тексте.
Ответ №2:
Я нашел решение по этой проблеме https://github.com/romanbsd/heroku-deflater/issues/26 , проблема была с дефлятором gem heroku
Комментарии:
1. Ха, так что gem ввел
static_cache_control
переменную, на которую жаловался Heroku. Хороший улов!