Среда Rails dev не обновляет html/css / assets даже после перезапуска сервера

Я разрабатываю сайт в rails, все идет относительно гладко. Внезапно мои изменения во взглядах и активах больше не появляются. Я меняю таблицу стилей или какой-то html и перезагружаю браузер в http://0.0.0.0:3000 и ничего не меняется. Поэтому я перезапускаю WEBrick, и все равно ничего не изменилось. Это даже в том случае, если я полностью меняю образ.

единственный способ получить новые изменения-предварительно скомпилировать активы:

C:Usersmewebsite>rake assets:precompile
C:/Ruby193/bin/ruby.exe C:/Ruby193/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets

почему он показывает производство как RAILS_ENV? Может быть, моя среда разработки каким-то образом превратилась в производственную среду? Но даже тогда мне не нужно будет предварительно компилировать активы, чтобы отразить изменения. Во всяком случае Rails.env.development? возвращает true и Rails.env.production? возвращает false в контроллерах и erb-файлах.

Я попытался удалить каталог / tmp безрезультатно.

мне пришлось добавить следующую строку в config / application.rb, чтобы заставить Heroku работать с компасом:

config.assets.initialize_on_precompile = false

однако, удаление этой строки в любом случае, это не помогло моей проблеме.

3 ответов


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


другой метод-переименовать каталог public/assets/ в нечто вроде public / assets_hide/. Затем переименуйте его перед запуском "rake assets: precompile" и нажмите на сервер. Это сокращает время предварительной компиляции, а также сохраняет права доступа к файлам активов для некоторых драгоценных камней, таких как rich, которые копируются поверх активов.

более простой способ-изменить конфигурацию/среду/разработку.файл RB в:

config.serve_static_assets = false

тогда вам не нужно будет возиться с каталог public / assets. Однако, если вы используете что-то вроде скрепки для загрузки файлов изображений, это не сработает, потому что файлы изображений не будут обслуживаться.


вероятно, очевидно для всех, но просто хотел добавить, что при удалении или переименовании public / assets / folder вам, вероятно, также потребуется перезагрузить локальный сервер и очистить кэш браузера :-)