Я только что обновил проект 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
.