Приложение RoR: «Актив application.css отсутствует в конвейере ресурсов» после перехода на рабочий сервер - PullRequest
0 голосов
/ 25 июня 2019

после переноса моего приложения Ruby on Rails на рабочий сервер (AWS EC2 Amazon Linux 2018.03) страницы не отображаются из-за ошибки «Актив application.css отсутствует в конвейере ресурсов» (представлены скомпилированные файлы в общественных местах / активах): production.log

Однако, когда я обновляю свое приложение (иногда более одного раза), этот файл находится в кеше, и страница отображается правильно. Похоже, сервер не ждет прекомпиляции файла или чего-то в этом роде. Это происходит не только при первой записи страницы, но и при каждом изменении представления.

Я следовал советам из поста: application.css отсутствует в конвейере ресурсов , но это не помогло.

Мой стек:

  • ruby ​​2.6.3
  • рельсы 5.2.3
  • Единорог 5.5.1
  • nginx 1.14.1

Буду очень благодарен за любые подсказки.

1 Ответ

0 голосов
/ 25 июня 2019

Вы можете подтвердить, что в папке app / assets / stylesheets должен быть файл application.css, и вам придется предварительно скомпилировать ресурсы в производственной среде, прежде чем запускать / запускать сервер в производственной среде. Вы можете предварительно скомпилировать ресурсы, используя

RAILS_ENV=production rails assets:precompile

Если это все еще не работает, тогда вы можете попробовать опцию config.assets.compile в true в production.rb, чтобы он выполнял живую компиляцию. Хотя это должно быть ложным в производственной среде, поскольку это влияет на производительность.

config.assets.compile = true
...