Браузер использует кэшированные ресурсы JavaScript, несмотря на то, что они были изменены в Rails 3.1 - PullRequest
3 голосов
/ 31 августа 2011

Я только что обновил свое приложение до Rails 3.1.У меня довольно сложная кодовая база JavaScript, и я решил объединить ее в один файл .js.coffee, который будет скомпилирован Sprockets.Время от времени я буду вносить изменения в один из моих файлов CoffeeScript, обновлять страницу и замечать, что мои изменения не были отражены.Глядя на отладчик Chrome, я замечаю, что файлы не читаются с сервера (вкладка «Сеть» показывает «(из кэша)» в соответствующих файлах).Кажется, что это происходит случайно, что очень и очень расстраивает.Единственные решения, которые я нашел, - это очистить кеш браузера или перезапустить браузер.

Есть идеи?Я пытался включить: отладку в моих вызовах javascript_include_tag, но получал те же результаты.Фактически, когда у меня было несколько тегов, казалось, что единственными активами, возвращающими «(из кэша)», были те, которые я изменил!Тут какая-то ирония.

Ответы [ 2 ]

1 голос
/ 31 августа 2011

Chrome предлагает отключить кэширование в инструментах разработчика. Зайдите в Настройки и в разделе Сеть должен быть установлен флажок для отключения кеша.

0 голосов
/ 31 августа 2011

Я не могу повторить.Я только что создал новый проект Rails 3.1, затем

rails generate controller welcome index

удалил index.html, оставил комментарий

root :to => 'welcome#index'

из routes.rb, добавил строку

console.log 1

до welcome.js.coffee, затем запустил Chrome и загрузил http://0.0.0.0:3000/.Я получил 1 на консоли.Изменил номер на 2, сохранил, обновил страницу и получил 2.И так далее.Кажется, не имеет значения, нажимаю ли я Cmd + R или просто набираю адрес;в любом случае, я получу последнюю welcome.js информацию.

Не могли бы вы "посмотреть источник" для меня?Ваш скрипт включает в себя

<script src="/assets/welcome.js?body=1" type="text/javascript"></script> 

или он другой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...