Je suis en train de créer ma première application Rails solo en utilisant Rails 3.1.rc5. Mon problème est que je souhaite que mon site affiche les différents fichiers CSS de manière conditionnelle. J'utilise Blueprint CSS et j'essaie de rendre les pignons / rails la screen.css
plupart du temps, print.css
uniquement lors de l'impression et ie.css
uniquement lorsque le site est accessible depuis Internet Explorer.
Malheureusement, la *= require_tree
commande par défaut dans le application.css
manifeste inclut tout ce qui se trouve dans le assets/stylesheets
répertoire et entraîne un désagréable fouillis CSS. Ma solution de contournement actuelle est une sorte de méthode de force brute où je spécifie tout individuellement:
Dans application.css:
*= require_self
*= require home.css
...
*= require blueprint/screen.css
Dans mes feuilles de style partielles (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"
Cela fonctionne mais ce n'est pas particulièrement joli. J'ai fait quelques heures de recherche pour aller aussi loin, mais j'espère qu'il existe un moyen plus simple de le faire que je viens de manquer. Si je pouvais même rendre sélectivement certains répertoires (sans inclure de sous-répertoires), cela rendrait l'ensemble du processus beaucoup moins rigide.
Merci!