application.css отсутствует в конвейере активов - PullRequest
0 голосов
/ 16 июня 2019

Я знаю, что это старый вопрос, но никто не решает мою проблему.

Я новичок в Ruby on Rails и только что создал проект с базой данных postgres, чтобы иметь возможность загрузить проект в Heroku.

Когда я запускаю сервер rails, я получаю сообщение об ошибке «application.css отсутствует в конвейере ресурсов».

Я использую гем начальной загрузки 4, и для этого необходимо переименовать application.css в application.scss.

Я не знаю, что не так.

Я действительно пробовал каждый ответ, который находится в стеке, без какого-либо успеха: (

Пожалуйста, помогите мне, что я делаю не так?

Это ошибка, которую я получаю: enter image description here

1 Ответ

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

Хорошо, во-первых.

У вас есть config.serve_static_files = true, установленный в вашем файле production.rb в папке config/environment.

Поскольку мы бежим за NGINX, в нашем случае это выглядит как config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?

Второе.Вы делали rails assets:precompile перед загрузкой на сервер?

И третье.Вы пытались назвать свой файл application.css.scss и повторить rails assets:precompile?

Последнее, и не в последнюю очередь.Как выглядит ваш файл application.scss?

Вы удалили все эти *= и использовали @import вместо Bootstrap

Это хорошо описано в документации:

Импорт стилей Bootstrapв app / assets / stylesheets / application.scss:

// Пользовательские переменные начальной загрузки должны быть установлены или импортированы за до начальной загрузки.@import "bootstrap";

И затем он говорит:

Убедитесь, что файл имеет расширение .scss (или .sass для синтаксиса Sass).Если вы только что сгенерировали новое приложение на Rails, оно может прийти с файлом .css.Если этот файл существует, он будет обслуживаться вместо Sass, поэтому переименуйте его:

$ mv app / assets / stylesheets / application.css app / assets / stylesheets / application.scss Затем удалите все * =require и * = require_tree операторы из файла Sass.Вместо этого используйте @import для импорта файлов Sass.

Не используйте * = require в Sass, иначе ваши другие таблицы стилей не смогут получить доступ к миксинам и переменным Bootstrap.

Readбольше здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...