2013-07-30 4 views
10

मैं रेल में शुरू कर रहा हूं और मुझे एक ऐसा एप्लिकेशन मिला है जो देव (वीब्रिक) में काम कर रहा है।प्रीकंपील्ड सीएसएस फ़ाइल रेल के साथ नहीं मिली 4 संपत्ति पाइपलाइन

समस्या यह है: प्रीकंपील्ड सीएसएस फ़ाइल उत्पादन में नहीं मिली है।

अब मैं इसे हेरोकू पर होस्ट करता हूं और इसे तैनात करता हूं। मेरे पास एक संदेश है जिसमें कहा गया है कि संपत्ति प्रीकंपिल्ड है (इसलिए यह संकलन त्रुटि नहीं है) और सेटिंग्स के लिए सब कुछ डिफ़ॉल्ट है।

मेरे पास/सार्वजनिक/संपत्ति फ़ोल्डर है और सबकुछ वहां है। मैं cat एप्लिकेशन - *। सीएसएस फ़ाइल भी कर सकता हूं और मुझे पूर्ण सामग्री मिलनी चाहिए जो मुझे चाहिए।

अब जब मैं सीएसएस फ़ाइल तक पहुंचने का प्रयास करता हूं तो यह मुझे 404 त्रुटि देता है (यहां तक ​​कि यह <%= stylesheet_link_tag "application", :media => "all" %> का उपयोग कर एक ऑटो-जनरेटेड सीएसएस लिंक है)। तो निश्चित रूप से यह कोई समस्या नहीं है कि मैंने सीएसएस लिंक को हार्डकोड किया था।

मुझे बिल्कुल यकीन नहीं है कि प्रदर्शन करने के लिए अगला चेक क्या होगा।

यदि आप आउटपुट पर उत्सुक हैं, तो वर्तमान में यह सार्वजनिक रूप से सुलभ here है।

उत्तर

14

अगर आपने पहले से ही ऐसा नहीं किया है तो कॉन्फ़िगरेशन विकल्प config.serve_static_assets = falseconfig.serve_static_assets = true को में बदलने का प्रयास करें।

+0

वैसे यह चाल चल रहा था। अब मुझे सिर्फ छवियों के लिए पता लगाने की जरूरत है। – Erick

+0

@Erick, छवियों को भी उस कॉन्फ़िगरेशन द्वारा ध्यान में रखा जाना चाहिए। क्या आप 'सार्वजनिक/संपत्ति /' निर्देशिका में छवियां देखते हैं? वैसे भी आप इन छवियों का संदर्भ कैसे दे रहे हैं, क्या यह 'image_path' सहायक का उपयोग कर रहा है? – vee

+0

मुझे admet करना चाहिए मैं उन्हें /assets/something.jpg के माध्यम से हार्डकोडेड तरीके से संदर्भित करता हूं। मैं image_path सहायक का उपयोग करने की कोशिश करूंगा और फिर देखूंगा। – Erick

1

केवल बात यह है कि यह मेरे लिए तय रेल 4 में दस्तावेज़ के अनुसार config/environments/production.rb

में

config.assets.compile = true 

था, यह वापस संपत्ति पाइपलाइन अगर एक precompiled संपत्ति याद किया जाता है करने के लिए गिर जाएगा।

+0

दस्तावेज़ भी अत्यधिक अनुशंसा नहीं करते हैं उत्पादन में केवल ऐप काम करने के लिए>< – bkunzi01

+0

@ bkunzi01 सैद्धांतिक रूप से, दस्तावेज़ीकरण सही है। अभ्यास में, हालांकि, यह केवल एक बार संकलित किया जाएगा, इसलिए मैं उस जोखिम को ले सकता हूं =) – Abdo

+0

कूल तैनात करने के बाद केवल एक बार संकलित करने के लिए आप इसे कैसे मजबूर करते हैं? जब मैं इसे अनुमति देता हूं तो मेरे ऐप्स का प्रदर्शन कुचल जाता है :( – bkunzi01

संबंधित मुद्दे