2013-09-11 8 views
6

में सक्रिय_support की आवश्यकता के लिए प्रयास कर रहा है मेरे पास एक रूबी मणि है और मैं रेल सक्रिय_support मॉड्यूल में शामिल मणि में हैश.फ्रॉम_एक्सएमएल विधि का उपयोग करना चाहता हूं। मैं अपने gemspec में नीचे दिए गए कोड है:मणि

gem.add_dependency 'active_support', '~> 3.0.0' 

हालांकि, जब मैं, चलाने आईआरबी का निर्माण और स्थानीय स्तर पर मणि स्थापित करते हैं, मणि, मैं सक्रिय समर्थन से तरीकों नहीं दिखाई दे रहा शामिल की आवश्यकता होती है?

मैं क्या गलत कर रहा हूं या डीबग करने के बारे में कोई सुझाव? धन्यवाद!

+0

इसे 'आवश्यकता' सक्रिय_support/all'' के साथ उपयोग करने का प्रयास करें। या यदि आप चाहते हैं कि केवल हैश मेथॉन्ड सक्रिय 'समर्थन/core_ext/हैश' की आवश्यकता है। –

+0

त्रुटि: मणि निष्पादित करते समय ... (Gem :: DependencyError) निर्भरताओं को हल करने में असमर्थ: sports_data_api को सक्रिय_support/सभी (~> 3.0.0), active_support/all (~> 3.0.0) – BC00

उत्तर

8

आपको require को ActiveSupport से आवश्यक विधियों की आवश्यकता है; वे डिफ़ॉल्ट रूप से जोड़े नहीं जाते हैं।

तरह येवजेनिय एक टिप्पणी में उल्लेख है, जिस तरह से यह करने के लिए require "active_support/all" है तुम सब कुछ की जरूरत है - या आप उदाहरण के लिए चाहते हैं, तो केवल हैश एक्सटेंशन require 'active_support/core_ext/hash' का उपयोग करें। ध्यान दें कि यह आम तौर पर gemspec में नहीं जाता है, बल्कि आपकी रत्न को स्वयं सेट करने के लिए जो भी फ़ाइल उपयोग करता है।

शायद require को वास्तविक फ़ाइलों में आवश्यक सक्रिय समर्थन फ़ाइलों की आवश्यकता होगी, लेकिन यह स्वाद का विषय है।

+0

ठीक है जो आपको धन्यवाद देता है । जब मैं इसे ऊपर के रूप में gemspec में डालता हूं तो यह क्यों काम नहीं करता है? जब मुझे gemspec के विपरीत फ़ाइल में इसकी आवश्यकता होती है तो अलग-अलग क्या हो रहा है? आपके सहयोग के लिए धन्यवाद! – BC00

+0

आपके gemspec संदर्भ रत्न। मणि को "active_support" कहा जाता है। 'जरूरी' संदर्भ फाइलें, संभावित रूप से रत्न से। हो सकता है कि आप 'gem" active_support "करने में सक्षम हो गए हों,: आवश्यकता =>" active_support/all "' यद्यपि। –