2012-04-12 7 views
6

विफल रहता है मैं रेल प्रशासन इंजन "प्रशासन बैकएंड" बनाने की कोशिश कर रहा हूं। मान लीजिए इंजन निम्नलिखित संपत्ति नहीं है:रेल इंजन पर संपत्ति अधिभार: द्वितीयक मणि संपत्ति फ़ाइल की आवश्यकता

ENGINE/app/assets 
├── javascripts 
│   └── railsyard 
│    ├── admin.js.coffee 
│    ├── admin_customizations.js.coffee 
... 

कहाँ admin.js.coffeeadmin_customizations.js.coffee की आवश्यकता होती है, वह है, एक खाली फ़ाइल तैयार की मेजबानी रेल आवेदन द्वारा ओवरराइट किया जाना है।

[ENGINE/app/assets/javascripts/my_engine/admin.js.coffee] 
#= require admin_customizations 
# ...some code... 

[ENGINE/app/assets/javascripts/my_engine/admin_customizations.js.coffee] 
# Override this empty file to add custom JS behaviour! 

सब कुछ अद्भुत काम करता है, जब तक मैं कुछ एक माध्यमिक मणि से आ रही संपत्ति की आवश्यकता के लिए प्रयास करें:

[APP/app/assets/javascripts/my_engine/admin_customizations.js.coffee] 
#= require modernizr # this line gets ignored 
alert "Foobar"  # this line works 

मणि modernizr-rails होस्टिंग एप्लिकेशन का एक निर्भरता इंजन है बल्कि उसके बाद। कृपया ध्यान दें कि यदि मैं किसी संपत्ति फ़ाइल से modernizr की आवश्यकता नहीं है जो कि कुछ इंजन संपत्ति फ़ाइल के ओवरराइड नहीं है, तो सबकुछ फिर से काम करता है।

क्या इस स्थिति को ठीक करने का कोई तरीका है?

+0

क्या ओवरराइड फ़ाइल के लिए कोई फायदा है? मेरा मतलब है, देव सिर्फ अपने स्वयं के जेएस जोड़ सकते हैं। – thomasfedb

+0

http://stackoverflow.com/questions/18261116/how-to-change-the-order-that-gems-are-loaded-from-within-one-of-the-gems से संबंधित हो सकता है – montrealmike

उत्तर

0

मेरा मानना ​​है कि मैंने आपके द्वारा बताई गई समस्या के बिना बिल्कुल वर्णन किया है।

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

यह संभव आप sprockets में एक बग या इसके बारे में रेल संपत्ति पाइपलाइन उपयोग ट्रिगर कर रहे हैं - लेकिन अधिक होने की संभावना है, वहाँ कुछ और ही चल रहा है।

क्या आप सुनिश्चित हैं कि आपने स्थानीय ऐप और/या इंजन में गलती से अपनी खाली 'modernizr.js` फ़ाइल प्रदान नहीं की है, जो कि आप को आधुनिकता वाले मणि की आवश्यकता होने के लिए गलती से ओवरराइड कर रहे हैं?

स्पॉकेट require लाइनों को उन टिप्पणियों में होना जरूरी है जो फ़ाइल में किसी भी कोड को आगे बढ़ाते हैं, उन्हें प्रारंभिक प्रीफेटरी टिप्पणी ब्लॉक में होना चाहिए। क्या वह आपको मिल रहा है?

या शायद कुछ और जो वास्तव में आपको नहीं लगता है।

मैं वास्तव में अपने आप को coffeescript कुछ coffeescript किसी भी तरह से अजीब का उपयोग नहीं करते?

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