2011-09-18 6 views
13

मेरे पास एक ऐसी क्रिया है जो AJAX अनुरोध को संभालती है। मेरी विकास मशीन पर, create.js.coffee नामक एक टेम्पलेट को जावास्क्रिप्ट प्रतिक्रिया उत्पन्न करने के लिए सफलतापूर्वक संसाधित किया जाता है। हालांकि, जब मैं हरोकू में तैनात करता हूं, तो एप्लिकेशन शिकायत करता है कि यह टेम्पलेट नहीं ढूंढ सकता है।कॉफी स्क्रिप्ट के आधार पर टेम्पलेट्स को संभालने के लिए हेरोकू के लिए कॉन्फ़िगर करने की क्या आवश्यकता है?

ActionView::MissingTemplate (Missing template /expenses/create with {:handlers=>[:erb, :builder], :formats=>[:js, :html], :locale=>[:en, :en]}. Searched in: 
* "/app/app/views" 
* "/app" 
* "/" 
): 

यह स्पष्ट है कि कॉफी हैंडलर preprocess * .js.coffee टेम्पलेट के लिए नहीं है।

क्या कोई सुझाव दे सकता है कि मैं इन टेम्पलेट्स को पहचानने और संसाधित करने के लिए हेरोकू को कैसे कॉन्फ़िगर कर सकता हूं?

नोट: हेरोकू सफलतापूर्वक मेरी कॉफीस्क्रिप्ट फ़ाइलों को पूर्व-प्रोसेस कर रहा है जो संपत्ति पाइपलाइन में मौजूद हैं।

+0

क्या आपको कभी इसका जवाब मिला? हेरोोकू पर एक ही समस्या है। मैंने अपने gemfile में निम्नलिखित जोड़ने का प्रयास किया: 'मणि" कॉफीबीन ",: git => git: //github.com/marcelloma/coffeebeans.git",: ref => "7b106" ' यह एक पुल अनुरोध है Coffeebeans मणि को देखा गया है, जो फिर से Heroku पर स्थानीय रूप से नहीं बल्कि काम में .js.coffee अनुमति देने के लिए। – trace

उत्तर

36

मैं पार्टी के लिए थोड़ा देर हो चुकी हूं, लेकिन यहां मेरा समाधान है, जैसा कि Github पर पोस्ट किया गया है।


मैं सिर्फ एक समस्या है जहाँ मेरे create.js.coffee फ़ाइल development में काम कर रहा था में भाग लेकिन (Heroku पर) production में काम बंद कर दिया। लॉग बताते हैं कि रेल भी एक कॉफी हैंडलर खोज नहीं कर रहा:

group :assets do 
    gem "sass-rails", "~> 3.1.0" 
    gem "coffee-rails", "~> 3.1.0" 
    gem "uglifier" 
    gem "compass", "~> 0.12.alpha" 
end 

# asset templates 
gem "jquery-rails" 
gem "haml" 

के बाद ही मैं :assets समूह के coffee-rails बाहर ले जाया गया:

2011-10-14T08:26:29+00:00 app[web.1]: ActionView::MissingTemplate (Missing template page_blocks/create, application/create with {:handlers=>[:erb, :builder, :haml], :formats=>[:html, :text, :js, :css, :ics, :csv, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json], :locale=>[:nl, :nl]}. Searched in: 
2011-10-14T08:26:29+00:00 app[web.1]: * "/app/app/views" 
2011-10-14T08:26:29+00:00 app[web.1]:): 

यह (महत्वपूर्ण) मेरी Gemfile का हिस्सा है चीजें काम करना शुरू कर दिया। शायद किसी भी तरह से इसे रीडेमे में स्पष्ट करने के लिए एक अच्छा विचार होगा, और शायद coffee-rails प्लगइन के साथ रेल को assets समूह के बाहर रखा जा रहा है।

+0

यह मेरे लिए पूरी तरह से काम किया है, बिल्कुल यकीन नहीं क्यों यह हालांकि हो रहा है। –

+0

जीन धन्यवाद, यह वास्तव में मददगार था! – Abramodj

+1

मैं करना चाहते हैं इस पृष्ठ पर सबकुछ ऊपर उठाओ। यह मुझे पागल कर रहा था! – webdesserts

2

मैं भी पार्टी के लिए बाद में हूँ, लेकिन मैं सिर्फ एक ही समस्या थी और इसे आसानी से समझा है:

"संपत्ति" Gemfile में जवाहरात के समूह केवल विकास के लिए कर रहे हैं। हेरोोकू इन रत्नों को उत्पादन में लोड नहीं करता है क्योंकि यह अपने एसेट पाइपलाइन के लिए अपने स्थिर संस्करणों पर निर्भर करता है।

यदि आप एक विशेष मणि का उपयोग कर रहे हैं जो लगता है कि यह संपत्ति पाइपलाइन से संबंधित है लेकिन वास्तव में मानक पाइपलाइन (जैसे "कॉफीबीन्स" मणि) से संबंधित नहीं है, तो आपको "संपत्ति" समूह के बाहर उस मणि को रखना चाहिए ।

मैं सिर्फ इस सिद्धांत का परीक्षण किया और यह मेरे लिए काम किया।

0

Heroku पर आप इस पेज Rails 3.1+ Asset Pipeline on Heroku Cedar के आखिरी खंड के अनुसार अपने पथ पर बिन जोड़ने की जरूरत है देवदार। "अगर आपको रनटाइम पर संपत्तियों को संकलित करने की आवश्यकता है, तो आपको जावास्क्रिप्ट रनटाइम तक पहुंचने के लिए अपने पैथ में बिन जोड़ना होगा।"

+1

मुझे इस क्षमता की भी आवश्यकता है, लेकिन जब मैंने अपनी हेरोोक कॉन्फ़िगरेशन की जांच की, तो वर्तमान में आपके द्वारा संदर्भित दस्तावेज़ में एकाधिक मान रखने के बजाय, PATH वर्तमान में सेट नहीं है। क्या आप जानते हैं कि यह सामान्य है और वह उस पथ को स्थापित करता है जिस पर बस/बिन है, यह चाल करेगा? –