Я будую свій перший сольний додаток Rails за допомогою Rails 3.1.rc5. Моя проблема полягає в тому, що я хочу, щоб мій сайт надавав різні файли CSS умовно. Я використовую Blueprint CSS, і я намагаюся screen.css
більшу частину часу робити зірочки / рейки print.css
лише під час друку та ie.css
лише тоді, коли доступ до сайту здійснюється з Internet Explorer.
На жаль, *= require_tree
команда за замовчуванням в application.css
маніфесті включає все в assets/stylesheets
каталозі і призводить до неприємного перемикання CSS. Моє поточне вирішення - це свого роду жорстокий метод, де я вказую все індивідуально:
У application.css:
*= require_self
*= require home.css
...
*= require blueprint/screen.css
У моїх таблицях стилів часткові (мл):
<!--[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"
Це працює, але це не особливо красиво. Я провів кілька годин пошуку, щоб навіть досягти цього далеко, але сподіваюся, що є якийсь простіший спосіб зробити це, що я щойно пропустив. Якби я міг навіть вибірково надати певні каталоги (не включаючи підкаталоги), це зробило б весь процес набагато менш жорстким.
Дякую!