2012-01-09 16 views
9

मैं एक बहन पर ऐसा करने के बाद मेरी तेंदुए वेबसर्वर पर उत्पादन का उपयोग कर 3.1 एप्लिकेशन रेल। इसलिए मुझे इस ऐप को तैनात करने की उम्मीद नहीं थी। मुझे ऐप को पहचानने के लिए यात्री मिल गया है, लेकिन मुझे अपाचे में '[GET /] मिस' त्रुटि मिलती है। चारों ओर देखकर मुझे लगता है कि मैं इसे देखने के लिए इसे प्राप्त कर सकता हूं यह देखने के लिए कि क्या मैं इस मुद्दे को अलग कर सकता हूं।रेल उत्पादन 'सीएसएस precompiled नहीं है'

बंडल कार्यकारी रेक संपत्ति: precompile RAILS_ENV = उत्पादन

लेकिन जब मैं लोड स्थानीय होस्ट: 3000 मैं हो "खाका/screen.css precompiled नहीं है"

मैं बहन के बीच मतभेद तुलना शुरू ऐप्स और उन्हें नहीं मिल सकता है।

<%= stylesheet_link_tag "application" %> 
    <%= javascript_include_tag "application" %> #in app/views/layouts/application.html.erb 

config/environments/production.rb 
config.consider_all_requests_local  = false 
    config.action_controller.perform_caching = true 
config.serve_static_assets = false 
config.assets.precompile += %w(search.js) 
    config.assets.precompile += %w(blueprint/screen.css blueprint/print.css) 
    config.assets.precompile += %w(*.css *.js) 

यह 3.1.0 और 3.1.3 में होता है और मैं पुष्टि कर सकता precompile खाका निर्देशिकाओं पर होता है: यहां कुछ प्रमुख कोड वे साझा कर रहे हैं। मैं क्या देख रहा हूं ?, सैम

+0

मैं "गॉचा" में भाग गया जहां मेरे पास '% w()' में मेरी वस्तुओं को अलग करने वाला कॉमा था और वे अल्पविराम उन्हें अलग करने के बजाय सरणी वस्तुओं का हिस्सा बन गए। जैसे '% डब्ल्यू (ब्लूप्रिंट/स्क्रीन.css, ब्लूप्रिंट/प्रिंट.cएसएस) # => ['ब्लूप्रिंट/स्क्रीन.cएसएस,', 'ब्लूप्रिंट/प्रिंट.cएसएस']' –

उत्तर

12

क्या आपने इस तरह अलग से प्रयास किया है?

config.assets.precompile += %w(blueprint/screen.css) 
config.assets.precompile += %w(blueprint/print.css) 

तो चलाएँ:

bundle exec rake assets:precompile RAILS_ENV=production 

यह तय करना चाहिए।

+0

यह होना चाहिए। मेरा इस तरह था: config.assets.precompile + =% w (ब्लूप्रिंट/स्क्रीन.css ब्लूप्रिंट/print.css) – sam452

+1

बस जिज्ञासा, अलग-अलग लाइनों में प्रीकंपाइल सरणी को जोड़ने से उसकी समस्या ठीक हो जाएगी? –

9

फ़ाइल मिस्ड होने पर आप प्रॉपर्टी पावरलाइन पर फॉलबैक करने के लिए उत्पादन वातावरण में सत्य के लिए assets.compile सेट कर सकते हैं।

# config/environments/production.rb 
# ... 
# Fallback to assets pipeline if a precompiled asset is missed 
    config.assets.compile = true 
+7

सावधान रहें, यह प्रदर्शन को मार सकता है। – orourkedd

+0

यह निश्चित रूप से _symptom_ को ठीक करता है लेकिन यह _problem_ को छुपाता है, जो _can_ को ठीक किया जा सकता है और _should_ को ठीक किया जा सकता है। –

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