Я создаю свое первое сольное приложение 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"
Это работает, но не особенно красиво. Я потратил несколько часов на поиски, чтобы зайти так далеко, но надеюсь, что есть более простой способ сделать это, что я только что пропустил. Если бы я мог даже выборочно отображать определенные каталоги (без включения подкаталогов), это сделало бы весь процесс намного менее жестким.
Спасибо!