बस रेल 3.1 में अनुकूलित करना शुरू किया, मैंने कॉफ़ीस्क्रिप्ट और सास लिखना शुरू किया और सब कुछ विकास में ठीक काम करता है। जब मैं उत्पादन में सर्वर चलाने के लिए, मैं सिर्फ मिलती है:रेल 3.1 संपत्तियों में उत्पादन में कोई फिंगरप्रिंट नहीं है
<link href="/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
<script src="/javascripts/application.js" type="text/javascript"></script>
पृष्ठ के स्रोत कोड में
, वहाँ कोई उत्पन्न hashCode है और दोनों की संपत्ति मार्ग त्रुटियां हैं:
Routing Error
No route matches [GET] "/stylesheets/application.css"
इस का कारण क्या है ? क्या मैं कुछ करना भूल गया? में वातावरण/production.rb
सेटिंग्स:
# Settings specified here will take precedence over those in config/application.rb
# Code is not reloaded between requests
config.cache_classes = true
# Full error reports are disabled and caching is turned on
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs
config.assets.digest = true
config.active_support.deprecation = :notify
आपको बहुत बहुत धन्यवाद।
अधिक जानकारी जोड़ें:
में लेआउट/application.html.erb, मैं संपत्ति शामिल करने के लिए निम्नलिखित का उपयोग कर रहा:
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
और मैं bundle exec rake assets:precompile
जो उत्पादन के बिना चलाता है की कोशिश की है कुछ भी और फिर rails s -e production
चलाएं, समस्या बनी रहती है।
और मैंने config.assets.compile = true
सेट करने की कोशिश की और फिर rails s -e production
चलाएं, समस्या अभी भी बनी हुई है।
कृपया मदद करें।
अधिक जानकारी। मैंने देखा है कि संकलित जेएस और सीएसएस सार्वजनिक/संपत्ति फ़ोल्डर में उत्पन्न होते हैं, लेकिन उत्पादन वातावरण में, फ़ाइलों को हैश कोड के बिना शामिल किया जाता है।
सहायता।
समाधान: बस मेरे प्रोजेक्ट को फिर से जाँच की और पाया कि मूल कारण है जब मैं MongoDB के समर्थन के लिए application.rb संपादन किया गया था। मैंने गलती से
require "sprockets/railtie"
इसे अपूर्णता तो सब कुछ ठीक है।
दूसरों के लिए मेरी रूकी गलती को याद दिलाने के लिए छोड़ दें।
आपको बहुत धन्यवाद रिचर्ड। आपका उत्तर अंतिम anwser नहीं है लेकिन यह बहुत मदद करता है, वास्तव में एक वोट वोट के लायक है।
धन्यवाद रिचर्ड, मैंने मुख्य पोस्ट में अतिरिक्त जानकारी जोड़ दी है। क्या मुझे इस सुविधा को पाने के लिए कैपिस्ट्रानो का उपयोग करना है? मैं बस अपने स्थानीय पर "रेल एस उत्पादन" चलाने की कोशिश कर रहा हूं। – larryzhao
यदि आप स्थानीय हैं, तो आपको इसे स्थानीय रूप से चलाने की ज़रूरत है। अगर आपको उत्पादन उत्पादन वातावरण में तैनात किया जाता है तो आपको केवल कैपिस्ट्रानो कार्य की आवश्यकता होती है। आपको ऐप को 3.1.1.rc2 पर अपग्रेड करें और कार्य को दोबारा शुरू करें। मुझे लगता है कि प्रीकंपाइल कार्य में कुछ फिक्स हैं जो इसे ठीक कर सकते हैं। –