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.css
yalnızca yazdırma sırasında ve ie.css
yalnızca siteye Internet Explorer'dan erişildiğinde oluşturulmasını sağlamaya çalışıyorum .
Ne yazık ki, manifest'teki varsayılan *= require_tree
komut dizindeki application.css
her şeyi içerir assets/stylesheets
ve 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!