मैं रेलिंग 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"
यह काम करता है लेकिन यह विशेष रूप से सुंदर नहीं है। मैंने इसे यहां तक प्राप्त करने के लिए कुछ घंटों की खोज की है, लेकिन मैं उम्मीद कर रहा हूं कि इसे करने का कुछ आसान तरीका है जिसे मैंने अभी-अभी याद किया है। अगर मैं चुनिंदा निर्देशिकाओं को भी प्रस्तुत कर सकता था (उपनिर्देशिकाओं को शामिल किए बिना) तो यह पूरी प्रक्रिया को बहुत कम कठोर बना देगा।
धन्यवाद!