2013-09-01 8 views
5

सबसे पहले, मैं भी Heroku पर काम कराने के लिए googling के एक बहुत की एक नरक किया था, लेकिन ऐसा लगता है कि चाहे मैं Heroku स्लग संकलन के दौरान मेरी संपत्ति precompile, या अगर मैं precompile जाने उन्हें अपने आप को और उन्हें भेजने के बाद, किसी भी तरह, मेरी रेल 4 एप्लिकेशन की application.css हमेशा खाली है:Heroku संपत्ति फ़ाइलें हमेशा खाली

$ curl -i http://www.boxscoregeeks.com/assets/application-c712146df692b0fca6c21c0bf1dddcd5.css 
HTTP/1.1 200 OK 
Content-Type: text/css 
Date: Sun, 01 Sep 2013 00:50:10 GMT 
Last-Modified: Sun, 01 Sep 2013 00:46:54 GMT 
Status: 200 OK 
X-Sendfile: /app/public/assets/application-c712146df692b0fca6c21c0bf1dddcd5.css 
Content-Length: 0 
Connection: keep-alive 

सत्यापित करने के लिए, यह ठीक स्थानीय रूप से बताया गया है:

$ curl -I http://localhost:3001/assets/application-c712146df692b0fca6c21c0bf1dddcd5.css 
HTTP/1.1 200 OK 
Last-Modified: Sat, 31 Aug 2013 03:46:55 GMT 
Content-Type: text/css 
Content-Length: 106237 
Connection: keep-alive 
Server: thin 1.5.1 codename Straight Razor 

मेरे चेकलिस्ट:

  • मेरे उत्पादन.आरबी फ़ाइल में config.serve_static_assets = true है।
  • मेरे पास gem 'rails_12factor', group: :production है मेरे Gemfile
  • मैंने यह किया: heroku labs:enable user-env-compile --app=YOUR_APP। इससे पहले कि मैं इसे चलाता हूं, संपत्तियां: प्रीकंपाइल चरण 1 और 2 के बावजूद नहीं चलती है। यह हमेशा उत्पादन डेटाबेस को आरंभ करने का प्रयास करेगा।

लगभग सभी मेरे गुगल ने मुझे इन चीजों को ऊपर करने के लिए कहा है, लेकिन यहां मैं अभी भी एक खाली applicaiton.css फ़ाइल के साथ हूं। कोई भी मदद बहुत अच्छी रहेगी।

धन्यवाद!

+0

इसके अलावा में में देवदार पर चल रहा था कोई फर्क नहीं लगता था '' production.rb' config.assets.precompile + =% w (search.js) 'सक्षम करना सुनिश्चित करें। 'Config.assets.precompile = ['* .js', '* .css'] 'का उपयोग न करें, क्योंकि अन्य धागे सुझाए गए हैं। – ahnbizcad

+0

एक बार ऐसा करने के बाद, 'RAILS_ENV = उत्पादन रेक संपत्तियां: प्रीकंपाइल' चलाने के लिए भी सुनिश्चित करें। फिर प्रतिबद्ध और धक्का। – ahnbizcad

उत्तर

6

मुझे इस प्रश्न का मेरा जवाब मिला।

प्रश्न में ऐप एक है जिसे मैंने रेल 3 से अपग्रेड किया है। इसलिए मैंने एक खाली नई रेल 4 ऐप (और यह काम किया) बनाया और तैनात किया। production.rb फ़ाइलों diffing करके, मैंने देखा गैर काम कर रहे एप्लिकेशन उस में इस तरह की एक लाइन थी कि:

# Specifies the header that your server uses for sending files 
# (comment out if your front-end server doesn't support this) 
config.action_dispatch.x_sendfile_header = "X-Sendfile" # Use 'X-Accel-Redirect' for nginx 

इस config लाइन नई रेल में 4 एप्लिकेशन पर टिप्पणी की है। और हेरोोकू दस्तावेज़ इस अनुशंसा करते हैं:

config.action_dispatch.x_sendfile_header = nil # For Heroku 

जब मैंने इसे बदल दिया, तो सब कुछ अपेक्षित काम करता था। यह जब एप्लिकेशन रेल 3.

+0

धन्यवाद, बस एक ही समस्या थी और यह तय :) :) – spilliton

+0

ओह, आपको नहीं पता कि यह कितना अद्भुत था। मेरे पागल मुद्दों को भी फिक्स्ड! – tvalent2

+0

आपने दुनिया के लिए एक महान सेवा की है, महोदय PatrickEm। * पिन साइबर पदक * – ahnbizcad

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