У меня проблема, которая возникает только на моей производственной коробке. Прекрасно работает в средах DEV и TEST. Проблема в том, что обслуживаемая страница кэшируется - она не отражает последние изменения, которые я сделал. Странная часть этого не происходит все время. Если я очищу кеш браузера, он может работать до тех пор, пока я не закрою браузер, а затем открою и перезагрузлю приложение - тогда снова произойдет сбой. Иногда я могу нормально загрузить страницу в IE, Chrome и Firefox. Но если я закрою Firefox и снова открою его, он может потерпеть неудачу со старой страницей.
Не уверен, что это важно, но файл, который я пытаюсь изменить, является файлом haml.
Вот что я пробовал до сих пор:
На самой производственной коробке:
rm -rm tmp/cache/assets
rake assets:clobber
rake assets:precompile
rake assets:clean
rake tmp:cache:clear
rails tmp:clear
rails restart
После «перезапуска рельсов», кажется, работает некоторое время. Опять же, работает во всех браузерах, пока я не закрою Firefox несколько раз ... затем вернется к старому файлу. Также работал отлично для пары открытия / закрытия Chrome - затем вернулся к старому файлу.
Я нашел еще одну проблему здесь, где кто-то установил no-cache.
В application_controller.rb
before_filter :set_cache_buster
def set_cache_buster
response.headers["Cache-Control"] = "no-cache, no-store"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end
В конфиге / средах / production.rb:
config.cache_classes = false
config.cache_store = false
config.action_controller.perform_caching = false
Если я пытаюсь запустить 'Rails.cache.clear' из консоли, я получаю:
NoMethodError: undefined method 'clear' for false:FalseClass
Это очень странная проблема. Кто-нибудь думает о других вещах, которые я мог бы попробовать?