Ресурсы приложения Rails не загружаются в среду разработки
Каждый раз, когда я запускаю приложение Rails локально, ни один из CSS не появляется. Отладчик в браузере показывает get
запросить все файлы активов с помощью отпечатков пальцев, но все они не работают, так как файлы не могут быть найдены. Вот как выглядит один из этих запросов:
GET http://localhost:3000/assets/announcements.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css?body=1
В консоли сервера Rails я получаю сообщение об ошибке приложения Rack, а также NoMethodError
для undefined method 'Silence'
, Вот как выглядит одна из этих ошибок:
2017-01-08 17:24:49 -0800: Rack app error handling request { GET /assets/normalize.self-cadbbf81015902777c37852b3ea54398335fd421c6c76891c077ec5954211bb4.css }
NoMethodError: undefined method 'silence' for #<Logger:0x007fe1062c1c78
Оба журнала ошибок (Browser Console и Localhost Server Console) содержат несколько версий одной и той же ошибки, причем все они указывают на активы (*.js и *.css).
Я искал бесчисленные сообщения Stackru, но безрезультатно. Это также по какой-то причине влияет только на это одно приложение; все мои другие приложения на Rails работают нормально. Вот мои характеристики:
Версия Rails: 5.0.1
Версия Ruby: 2.3.1p112
Вещи, которые я пробовал:
assets:clean
, assets:precompile
, rm -rf /tmp
а также /public/assets
directpories, все предыдущие из которых были дополнены средой разработки, воссоздали репозиторий из github и установили пакет.
2 ответа
Я знаю, что это старый вопрос, но наткнулся на него, пытаясь исправить ту же проблему.
Я нашел, а также ответ Райана Бигга, мне нужно было прокомментировать следующую строку в development.rb
чтобы остановить бомбардировку Sprockets в Rails 5.2.2:
# Suppress logger output for asset requests.
# config.assets.quiet = true
Похоже, вы столкнулись с этой проблемой: https://github.com/rails/sprockets-rails/issues/376.
Где вы сделали это изменение конфигурации, вы должны использовать ActiveSupport::Logger
вместо. Где у вас есть Logger.new
использовать ActiveSupport::Logger
вместо.
Проверить Звездочки 4 Манифест в рельсах 5
http://eileencodes.com/posts/the-sprockets-4-manifest/
Это может помочь вам.