2012-06-26 14 views
10

मैं यह सुनिश्चित करने की कोशिश कर रहा हूं कि मैं रेल संपत्ति परिसंपत्ति पाइपलाइन का उपयोग कर संकुचित सीएसएस और जेएस फाइलों की सेवा कर रहा हूं। मैंने इसे सब अच्छी तरह से स्थापित कर लिया है और चीजें खुशी से पहले से चल रही हैं - और एस 3 को खुशी से समन्वयित कर रही है जहां मैं अमेज़ॅन के क्लाउडफ्रंट सीडीएन का उपयोग करके उनकी सेवा कर रहा हूं। ,Manifest.yml को संपत्तियों के साथ अपडेट नहीं किया जा रहा है: प्रीकंपाइल - रेल 3.2.6

= stylesheet_link_tag "application" 
= javascript_include_tag "application" 

समस्या संक्षेप में:

मैं application.css की सेवा कर रहा हूँ और इतने तरह application.js MD5-प्रत्यय फ़ाइलों आवेदन लेआउट में उत्पादन नहीं किया जा रहा है - केवल कच्चे application.css और application.js

यह थोड़ा अजनबी हो जाता है: सभी छवियों में MD5 स्टाम्प है। सीएसएस/जेएस फाइलें नहीं हैं।

यहाँ मेरी production.config है:

config.action_controller.perform_caching = true 

    # Specifies the header that your server uses for sending files 
    config.action_dispatch.x_sendfile_header = "X-Sendfile" 
    config.assets.compress = true 
    # Fallback to compile on demand 
    # config.assets.compile = true 
    #config.assets.precompile += %w(application.css application.js) 
    # Generate digests for assets URLs 
    config.assets.digest = true 
    #push the assets to amazon 
    config.action_controller.asset_host = Proc.new { |source, request| 
    if request.ssl? 
     "https://tekpub-assets.s3.amazonaws.com" 
    else 
     "http://tekpub-assets.s3.amazonaws.com" 
    end 
    } 

    config.serve_static_assets = false 

इस पूरी प्रक्रिया के बारे में बात यह है कि क्रुद्ध करनेवाला मैं Gzipped देख सकते हैं/पचा फ़ाइलों है - वे मेरी संपत्ति निर्देशिका में वहीं कर रहे हैं। सभी एम - सीएसएस और जेएस फाइलें भी।

हालांकि मेरी manifest.yml फ़ाइल केवल इसलिए की तरह अद्यतन किया जाता है:

--- 
application.js: application.js 
application.css: application.css 

जब मैं precompile चलाने वहाँ कोई त्रुटि नहीं है - वास्तव सब कुछ विलक्षण बल्कि लग रहा है में:

** Invoke assets:precompile:all (first_time) 
** Execute assets:precompile:all 
** Invoke assets:precompile:primary (first_time) 
** Invoke assets:environment (first_time) 
** Execute assets:environment 
** Invoke environment (first_time) 
** Execute environment 
Resolved collector.newrelic.com to 204.93.223.153 
AssetSync: using /Volumes/Fatty/Sites/tpub6/config/initializers/asset_sync.rb 
** Invoke tmp:cache:clear (first_time) 
** Execute tmp:cache:clear 
** Execute assets:precompile:primary 
** Invoke assets:precompile:nondigest (first_time) 
** Invoke assets:environment (first_time) 
** Execute assets:environment 
** Invoke environment (first_time) 
** Execute environment 
Resolved collector.newrelic.com to 204.93.223.153 
AssetSync: using /Volumes/Fatty/Sites/tpub6/config/initializers/asset_sync.rb 
** Invoke tmp:cache:clear (first_time) 
** Execute tmp:cache:clear 
** Execute assets:precompile:nondigest 
AssetSync: Syncing. 
Using: Directory Search of /Volumes/Fatty/Sites/tpub6/public/assets 
AssetSync: Done. 

किसी भी सहयोग के लिए धन्यवाद संकेत/shoves/सुझाव।

उत्तर

14

ठीक है, मुझे जवाब मिला: यदि संपत्ति पाइपलाइन फ़ाइल (या फ़ाइल प्रकार) को संकलित नहीं कर सकती है, तो यह रूबी/रेल शैली में चुपचाप विफल हो जाएगी।

मेरे मामले में 2 समस्याएं थीं: "।" एक जेएस फ़ाइल नाम (bootstrap.min.js) में - यह पसंद नहीं आया, जो मुझे लगता है कि कुछ समझ में आता है क्योंकि यह फाइल को संसाधित करने के लिए फ़ाइल नामों का उपयोग करता है (उदाहरण के लिए file.css.erb)।

अगला एक फ़ाइल प्रकार है जिसे यह नहीं पता कि इसके साथ क्या करना है। चारों ओर चलती फ़ाइलों के साथ कुछ अंधापन और मूर्खता के कारण, मेरे पास मेरी संपत्ति/छवि निर्देशिका में एक भयानक वाईएएमएल फ़ाइल थी। इसने प्रोसेसर बनाने की संपत्ति को दबाया: प्रीकंपाइल असफल ... फिर ... चुपचाप।

जिस तरह से मैंने इसे पाया, वह एक खाली रेल परियोजना बनाने और संपत्तियों को खरोंच से संकलित करना था। इस तरह मैंने जेएस फ़ाइल के मुद्दे के साथ-साथ बेवकूफ वाईएएमएल फ़ाइल भी पाई।

+1

चूंकि यह समस्या 'ट्विटर-बूटस्ट्रैप-रेल' मणि के कारण हुई थी, इसलिए 'मणि' ट्विटर-बूटस्ट्रैप-रेल के साथ गिट रेपो से मणि को अपडेट करना, git => 'git: // github। com/seyhunak/twitter-bootstrap-rails.git 'ने मेरे लिए इस मुद्दे को हल किया। – joseph

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

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