Как предварительно скомпилировать активы с использованием подстановочных знаков в приложении rails 4.2.6

В настоящее время я работаю над приложением Rails 4.2.6. В папке таблицы стилей у меня есть подкаталоги, представляющие часть приложения, как показано на рисунке ниже: введите здесь описание изображения

В файле config/initializers/assets.rb у меня есть следующий код:

# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
# Rails.application.config.assets.precompile += %w( search.js )
Rails.application.config.assets.precompile += %w( faq_page/faq.css )
Rails.application.config.assets.precompile += %w( contact/new.css )

Я должен добавить каждый файл, чтобы предварительно скомпилировать активы. Я попытался использовать следующий код config.assets.precompile = ['*.js', '*.css'], но это не сработало. Я получаю следующую ошибку

Sass::SyntaxError на страницах#home

Как я могу предварительно скомпилировать ресурсы с подстановочным знаком, не добавляя каждый файл .css в assets.rb?


person Steven Aguilar    schedule 07.03.2018    source источник


Ответы (1)


Все в вашей папке /assets должно автоматически включаться в конвейер ресурсов. Вы должны иметь возможность полностью удалить config.assets.precompile = ['*.js', '*.css'] из инициализатора ваших ресурсов.

Единственный раз, когда вам нужно добавить в config.assets.precompile, это когда вы хотите добавить активы из каталога, такого как /vendor

person NM Pennypacker    schedule 08.03.2018
comment
Я все еще ошибка Asset was not declared to be precompiled in production. Add `Rails.application.config.assets.precompile += %w( faq_page/faq.css )` to `config/initializers/assets.rb` and restart your server - person Steven Aguilar; 08.03.2018
comment
По какой причине они должны быть в подкаталогах, а не в /assets? Кроме того, вы пытались переименовать их в .scss? - person NM Pennypacker; 08.03.2018
comment
имена файлов .css.scss, например faq.css.scss, и не должно быть проблем с подпапками, так как они находятся в папке с ресурсами, это просто способ упорядочить вещи. - person Steven Aguilar; 08.03.2018
comment
Да, просто подумал, что может стоит попробовать для устранения неполадок - person NM Pennypacker; 08.03.2018