Rails 6 не обслуживает stati c файлов - PullRequest
0 голосов
/ 02 апреля 2020

Я только что обновил проект rails 5.1 до Rails 6 и наконец получил его для рендеринга представлений. Тем не менее, я все еще не могу заставить Puma (4.3.3) обслуживать stati c файлы из папки public/. Я решил использовать Sprockets 4.0 вместо Webpack из-за сложности его настройки. Я получаю эту ошибку:

Sprockets::Rails::Helper::AssetNotFound - The asset "intro_video.mp4" is not present in the asset pipeline.:
  app/views/home/_intro_video.html.haml:1
  app/views/home/index.html.haml:52

Started POST "/__better_errors/82e7c6297114c48a/variables" for 127.0.0.1 at 2020-04-02 09:05:05 -0400

Я нахожусь в среде разработки и добавил config.serve_static_assets = true к моему config/environments/development.rb и перезагрузил сервер. Данная страница ссылается на intro_video.mp4, который находится в папке root в папке public/. Если я вставлю localhost:3000/intro_video.mp4 непосредственно в Firefox, я получу ошибку ActionController::RoutingError: No route matches [GET] \"/intro_video.mp4\".

Любая помощь приветствуется. Спасибо.

РЕДАКТИРОВАТЬ: я пытался переместить файл intro_video.mp4 в мой каталог app/assets/images, но теперь я получаю эту странную проблему:

Sass C :: SyntaxError at /

Ошибка: неопределенная переменная: "$ light-grey". в строке 15:10 файла app / assets / stylesheets / datepicker.scss: $ светло-серый;

Это означает, что строка @import 'variables' в моем application.scss не работает, но все другие файлы, на которые есть ссылки, работают. На самом деле, если я добавлю какие-либо файлы в каталог app/assets/images, это произойдет. Это не имеет смысла для меня ...

РЕДАКТИРОВАТЬ (снова): Таким образом, я исправил проблему CSS, удалив ее из app/assets/config/manifest.js

//= link_directory ../stylesheets .css

..., которая влияла порядок загрузки моих таблиц стилей все еще не может заставить что-либо работать из каталога public/, поэтому я просто решу, переместив все в app/assets/images.

...