2013-12-15 4 views
0

Как объединить несколько файлов CSS в файле app/assets/stylesheets в одном приложении application.css.scss? Согласно книге, которую я следовал, я полагаю, что ссылаюсь на все другие таблицы стилей в раздел комментария application.css.scss. Однако он не сказал мне, как я могу ссылаться на каждую таблицу стилей.RoR - Объединение нескольких активов в один файл

/* 
* This is a manifest file that'll be compiled into application.css, which will include all the files 
* listed below. 
* 
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, 
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. 
* 
* You're free to add application-wide styles to this file and they'll appear at the top of the 
* compiled file, but it's generally better to create a new file per style scope. 
* 
*= require_self 
*= require_tree . 
*/ 

Я знаю, что я должен использовать *= require_something, но не уверен, как именно. Я создал таблицу стилей под названием custom.css.scss и поместил * = require_custom в комментарий, но это не сработало.

+0

В ответ на этот вопрос было отправлено несколько ответов. Кто-нибудь из них помог? Если это так, то считается вежливым и полезным поддерживать или принимать их как правильные. – zeantsoi

+0

Любое обновление к этому? Если какой-либо из этих ответов помог решить ваш вопрос, вы должны принять его как правильное. – zeantsoi

ответ

0

Директива require_tree . должна быть достаточной для загрузки любых дополнительных таблиц стилей, содержащихся в пределах app/assets/stylesheets. Однако статические активы всегда загружаются при развертывании приложения - вы пытались перезапустить сервер?

0

require_tree . уже требует наличия всех отдельных таблиц стилей в одной и той же папке или вложенных папках.

Если вы хотите включить некоторые конкретные таблицы стилей (скажем, something.css.scss), вы можете сделать:

*= include something 

Однако, если вы используете переменные в своих SASS файлы, которые вы хотите использовать в разных файлах, стиль комментариев включает не работает. Вам необходимо будет импортировать каждый файл отдельно:

@import 'something'; 
+0

Однако, когда я смотрю на источник страницы моей веб-страницы, я все еще вижу несколько таблиц стилей. Разве я не вижу только одного, если я включу все таблицы стилей в один? – wag0325

+0

Я имею в виду, какой смысл включать все таблицы стилей в один файл, если я собираюсь увидеть их все в моем исходном коде? – wag0325

+0

В разработке вы действительно увидите все файлы, перечисленные отдельно. Однако при производстве все различные таблицы стилей, перечисленные в манифесте application.css.scss, будут сведены к минимуму и объединены в один файл. См. Документацию по конвейеру активов: http://guides.rubyonrails.org/asset_pipeline.html – fivedigit

Смежные вопросы