रेल 3.1 में किसी इंजन में संपत्ति कैसे प्रदान की जानी चाहिए? उन्हें कहाँ स्थित होना चाहिए और क्या उन्हें स्वचालित रूप से शामिल किया जा सकता है?रेल के साथ इंजन की संपत्ति 3.1
(originally asked by Tomas Celizna)
रेल 3.1 में किसी इंजन में संपत्ति कैसे प्रदान की जानी चाहिए? उन्हें कहाँ स्थित होना चाहिए और क्या उन्हें स्वचालित रूप से शामिल किया जा सकता है?रेल के साथ इंजन की संपत्ति 3.1
(originally asked by Tomas Celizna)
सभी इंजनों 'संपत्ति फ़ोल्डरों को रास्तों स्वचालित रूप से लोड कर रहे हैं।
संपत्तियां डिफ़ॉल्ट रूप से लोड नहीं होती हैं। यह समझ में आता है क्योंकि लोडिंग require_tree .
के साथ की जाती है, जो वर्तमान फ़ोल्डर से सभी सीएसएस/जेएस लोड करता है (यानी मुख्य अनुप्रयोग संपत्ति 'फ़ोल्डर) लेकिन इंजन संपत्तियों के बारे में कुछ भी नहीं कहता है।
आसान समाधान यह है कि उपयोगकर्ता को js/css को application.js/css में कहीं भी आवश्यकता हो या जहां कहीं भी इसकी आवश्यकता हो। चूंकि पथ सही तरीके से लोड होते हैं, उपयोगकर्ता को केवल आपकी संपत्ति का नाम निर्दिष्ट करने की आवश्यकता होती है (मैं आपके इंजन के नाम का उपयोग करने की अनुशंसा करता हूं)। उदाहरण:
संलग्न main_app/app/assets/javascripts/application.js
रहे हैं:
//= require_tree .
यह सब your_engine_name/app/assets/javascripts/
में फ़ाइलों जे एस लोड होगा:
//= require your_engine_name
आप अलग अलग फ़ाइलों में अपने js विभाजित किया है, तो आपकी फ़ाइल your_engine_name/app/assets/javascripts/your_engine_name.js
निम्नलिखित हो सकता था , "।" के रूप में स्थानीय फ़ोल्डर को संदर्भित करता है (इस मामले में आपके इंजन की जावास्क्रिप्ट का फ़ोल्डर)।
ध्यान दें कि ActionView::Helpers::AssetTagHelper.register_javascript_expansion
कोई प्रभाव नहीं पड़ता है जब config.use_sprockets
सेट है। मुझे आशा है कि वे कम से कम उस मामले में चेतावनी देंगे।
यदि आपके पास अपने इंजन को स्थापित करने के लिए एक रेक कार्य है, तो आप application.js में संलग्न कर सकते हैं।
उपयोगकर्ता को शामिल करने का एक और तरीका यह है कि erb लेआउट में <%= javascript_include_tag "your_engine_name" %>
डालें।
मुझे नहीं लगता कि यह वर्तमान में कुछ काम के लिए जा रहा तहत स्वचालित रूप से
sprockets सामान है डाला है करने के लिए एक रास्ता है, लेकिन आप क्या कहा के बाकी स्पॉट पर है। बहुत बढ़िया। –
छवियों के बारे में क्या? मैंने मणि की संपत्ति से छवियों तक पहुंचने का प्रयास किया लेकिन यह असफल रहा ... क्या उन दो समस्याओं से संबंधित हैं? – mabounassif
एनवीएम मैंने बहुत जल्दी टिप्पणी की, एक मणि के भीतर संपत्ति अब रेल में स्वचालित रूप से लोड हो जाती है 3.1 – mabounassif