Rails 3.1.rc5 kullanarak ilk solo Rails uygulamasını oluşturma sürecindeyim. Benim sorunum, sitemin çeşitli CSS dosyalarını koşullu olarak oluşturmasını istiyorum. Blueprint CSS kullanıyorum ve dişliler / rayların screen.cssçoğu zaman, print.cssyalnızca yazdırma sırasında ve ie.cssyalnızca siteye Internet Explorer'dan erişildiğinde oluşturulmasını sağlamaya çalışıyorum .
Ne yazık ki, manifest'teki varsayılan *= require_treekomut dizindeki application.cssher şeyi içerir assets/stylesheetsve hoş olmayan bir CSS karmakarışıklığına neden olur. Geçerli geçici çözüm, her şeyi ayrı ayrı belirlediğim bir tür kaba kuvvet yöntemidir:
Application.css dosyasında:
*= require_self
*= require home.css
...
*= require blueprint/screen.css
Stil sayfalarımda kısmi (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"
Bu işe yarıyor ama özellikle hoş değil. Bunu daha da ileri götürmek için birkaç saat aradım ama bunu yapmanın daha kolay bir yolu olduğunu umuyorum. Belirli dizinleri (alt dizinleri içermeden) seçmeli olarak bile oluşturabilseydim, tüm süreci çok daha az katı hale getirirdi.
Teşekkürler!