Как мне обновить CSS, который кэшируется моим сервером? - PullRequest
4 голосов
/ 03 февраля 2012

Я только что запустил свой новый сайт rails, и есть вещи, которые я должен изменить, но я думаю, что кэширование CSS не позволяет моим изменениям работать. Есть ли способ очистить кеш? Что я делаю неправильно? Дайте мне знать, если вам нужна дополнительная информация (я не могу придумать ни одного кода, который бы вам помог), и большое спасибо.

1 Ответ

4 голосов
/ 03 февраля 2012

Если вы на Rails 3.1+, вы можете использовать Asset Pipeline , он позаботится об этом за вас.

Если вы с использованием Asset Pipeline и получения старых файлов, вероятно, потому что вы забыли перекомпилировать ресурсы при развертывании.Используйте rake assets:clean && rake assets:precompile на сервере, он обновит ресурсы.

Если вы не используете Asset Pipeline, то вы можете использовать некоторые старые приемы.Например, вы можете переименовать файл.Это, безусловно, заставит клиентов получать свежую версию.

Также вы можете добавить параметр запроса.Именно этот сайт (stackoverflow) делает это, смотрите:

<link rel="stylesheet" type="text/css" 
      href="http://cdn.sstatic.net/stackoverflow/all.css?v=bd28d262b63e">

То есть, когда вы развертываете новую версию таблицы стилей, обновите эту ссылку и увеличьте номер версии.Некоторые прокси-серверы могут все еще игнорировать этот параметр.

...