मैं रेलिंग 3.1.rc5 का उपयोग करके अपने पहले एकल रेल ऐप के निर्माण की प्रक्रिया में हूं। मेरी समस्या यह है कि मैं अपनी साइट को विभिन्न CSS फाइलों को सशर्त रूप से प्रस्तुत करना चाहता हूं। मैं ब्लूप्रिंट सीएसएस का उपयोग कर रहा हूं और मैं कोशिश कर रहा हूं कि स्प्रोकेट्स / रेल्स screen.css
ज्यादातर समय print.css
केवल रेंडरिंग करें, और ie.css
केवल तब जब साइट इंटरनेट एक्सप्लोरर से एक्सेस हो।
दुर्भाग्य से, प्रकट *= require_tree
में डिफ़ॉल्ट आदेश में निर्देशिका application.css
में सब कुछ शामिल है assets/stylesheets
और एक अप्रिय सीएसएस गड़बड़ी में परिणाम होता है। मेरा वर्तमान वर्कआउट एक तरह का ब्रूट-फोर्स मेथड है जहां मैं व्यक्तिगत रूप से सब कुछ निर्दिष्ट करता हूं:
Application.css में:
*= require_self
*= require home.css
...
*= require blueprint/screen.css
मेरी स्टाइलशीट में आंशिक (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"
यह काम करता है लेकिन यह विशेष रूप से सुंदर नहीं है। मैंने इसे यहां तक प्राप्त करने के लिए कुछ घंटों की खोज की है, लेकिन मैं उम्मीद कर रहा हूं कि इसे करने का कुछ आसान तरीका है जिसे मैंने अभी-अभी याद किया है। अगर मैं चुनिंदा निर्देशिकाओं को भी प्रस्तुत कर सकता था (उपनिर्देशिकाओं को शामिल किए बिना) तो यह पूरी प्रक्रिया को बहुत कम कठोर बना देगा।
धन्यवाद!