Ich bin gerade dabei, meine erste Solo-Rails-App mit Rails 3.1.rc5 zu erstellen. Mein Problem ist, dass meine Site die verschiedenen CSS-Dateien unter bestimmten Bedingungen rendern soll. Ich verwende Blueprint CSS und versuche, Kettenräder / Schienen die screen.css
meiste Zeit print.css
nur beim Drucken und ie.css
nur beim Zugriff auf die Site über Internet Explorer rendern zu lassen .
Leider enthält der Standardbefehl *= require_tree
im application.css
Manifest alles im assets/stylesheets
Verzeichnis und führt zu einem unangenehmen CSS-Durcheinander. Meine aktuelle Problemumgehung ist eine Art Brute-Force-Methode, bei der ich alles einzeln spezifiziere:
In application.css:
*= require_self
*= require home.css
...
*= require blueprint/screen.css
In meinen Stylesheets teilweise (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"
Das funktioniert, ist aber nicht besonders hübsch. Ich habe ein paar Stunden lang gesucht, um überhaupt so weit zu kommen, aber ich hoffe, dass es einen einfacheren Weg gibt, den ich gerade verpasst habe. Wenn ich sogar bestimmte Verzeichnisse selektiv rendern könnte (ohne Unterverzeichnisse einzuschließen), würde dies den gesamten Prozess viel weniger starr machen.
Vielen Dank!