Использование конвейера ресурсов Rails 3.1 для условного использования определенного css

Я создаю свое первое сольное приложение Rails с использованием Rails 3.1.rc5. Моя проблема в том, что я хочу, чтобы мой сайт отображал различные файлы CSS условно. Я использую Blueprint CSS и пытаюсь сделать так, чтобы звездочки / рельсы отображали screen.css большую часть времени, print.css только при печати и т.е. css только тогда, когда доступ к сайту осуществляется из Internet Explorer.

К сожалению, команда по умолчанию * = require_tree в манифесте application.css включает все, что есть в каталог assets / stylesheets и приводит к неприятному беспорядку CSS. Мой текущий обходной путь - это своего рода метод грубой силы, где я указываю все индивидуально:

В application.css:

*= require_self
*= require home.css
...
*= require blueprint/screen.css

В моих таблицах стилей partial (haml):

<!--[if lt IE 9]
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
![endif]-->
= stylesheet_link_tag "application"
= stylesheet_link_tag 'blueprint/print', media: 'print'
<!--[if lt IE8]]
= stylesheet_link_tag 'blueprint/ie'
![endif]-->
= javascript_include_tag "application"

Это работает, но не особенно красиво. Я потратил несколько часов на поиски, чтобы зайти так далеко, но надеюсь, что есть более простой способ сделать это, что я только что пропустил. Если бы я мог даже выборочно отображать определенные каталоги (без включения подкаталогов), это сделало бы весь процесс намного менее жестким.

Спасибо!

166
задан JakeGould 3 December 2014 в 07:59
поделиться