2011-05-22 10 views
21

मैं एक मौजूदा रेल आवेदन मैं रूबी 1.9.2 और लिनक्स अपने रेल संस्करण पर चल रहा हूँ हैfastercsv त्रुटि 1.9.2

rails 2.3.8 

है और वह अपने विक्रेता के साथ-साथ एक GEMFILE है,/जवाहरात निर्देशिका यह है 'fastercsv-1.5.4' मणि
और उसके माइग्रेशन में (दो माइग्रेशन में) यह मणि 'fastercsv'

require 'fastercsv' 

लेकिन जब मैं कर

की आवश्यकता है

यह प्रवास का दावा

विफल रहता है "कृपया रूबी 1.9 के मानक सीएसवी पुस्तकालय करने के लिए स्विच। यह FasterCSV प्लस रूबी 1.9 के m17n एन्कोडिंग इंजन के लिए समर्थन है। "

और मुझे पता चला है संदेश जवाहरात 'faster_csv.rb' फ़ाइल से आता है। गहरे लाल रंग का संस्करण की जांच करने के लिए के रूप में यह एक शर्त है

if RUBY_VERSION >= "1.9" 

    class FasterCSV 
    def self.const_missing(*_) 
     raise NotImplementedError, "Please switch to Ruby 1.9's standard CSV " + 
           "library. It's FasterCSV plus support for " + 
           "Ruby 1.9's m17n encoding engine." 
    end 

    def self.method_missing(*_) 
     const_missing 
    end 

    def method_missing(*_) 
     self.class.const_missing 
    end 
    end 

-- and more code 

कोई मुझे बता सकते हैं इस समस्या को हल करने के लिए। कृपया ध्यान दें 'fastercsv' GEMFILE को जोड़ा नहीं गया है।

उत्तर

18

मैं इस पोस्ट

What is Ruby 1.9 standard CSV library?

के आधार पर मेरे सवाल

इसका का जवाब मिल गया है और समाधान के रूप में मैं

require 'csv' 

01 के बजाय
require 'fastercsv' 

और CSV

+0

यहाँ वही, अन्यथा आप एक गैर-आरंभिकृत निरंतर वस्तु :: सीएसवी (NameError) के साथ अंत .. –

+0

ओह मैं इस काम करता है आशा है, कारण मैं अपने अनुप्रयोग में ऑब्जेक्ट :: सीएसवी हो रही है और यह frusturating है। यदि यह सही है तो वापस जवाब देंगे और पांच जवाब देंगे! – pjammer

+0

यह रूबी के पुराने संस्करणों पर भी काम करता है (1.9) – piffy

38

के रूप में यह पहले से ही शामिल है आप रूबी 1.9.2 के साथ FasterCSV मणि का उपयोग करने की जरूरत नहीं है मानक पुस्तकालय के CSV (उदाहरण के लिए require 'csv')। 012 से अपने आवेदन में संदर्भ बदलें CSV कोऔर vendor/gems/fastercsv फ़ोल्डर को हटा कर उसे बस काम करना चाहिए (टीएम)

+3

को FasterCSV मैं केवल 'fastercsv' मेरी Gemfile से हटा दें और' CSV' को 'FasterCSV' से संदर्भ बदलना पड़ा बदल जाते हैं। मुझे किसी भी निर्देशिका को हटाना नहीं था। अन्यथा, यह जवाब सिर्फ मेरे लिए काम किया (टीएम)। –

+0

यह उत्तर कैसे स्वीकार नहीं किया जाता है? – sivabudh

+0

नीचे दिए गए स्वीकृत उत्तर के अनुसार ''fastcsv''' से 'आवश्यकता' कथन को '' csv''' में भी बदलें। पहले मैंने सोचा कि मैं इस जवाब को पढ़ने के बाद आवश्यक कथन हटा सकता हूं। – colllin