2012-10-01 17 views
18

मैंने "lib" रेल निर्देशिका पर एक लाइब्रेरी बनाई है।रेल "मॉड्यूल नहीं है" त्रुटि

lib/insurance/broker/fake_broker.rb 

वर्ग निम्न उदाहरण की तरह दिखता है:

module Insurance 
    module Broker 
    class FakeBroker 
     def initialize(user_id, user_secret) 
     @user_id = user_id 
     @user_secret = user_secret 
     end 
    end 
    end 
end 

तो, मेरी result_controller में मैं यह कर रहा हूँ: पुस्तकालय की संरचना कुछ इस तरह है

require 'insurance/broker/fake_broker' 

def show 
    broker = Insurance::Broker::FakeBroker.new(1234,1234) 
end 

लेकिन रेल इस त्रुटि को वापस कर रहे हैं:

Insurance is not a module 

यहाँ क्या गलत है?

+0

'fake_broker.rb' संभावना अपने रेल लोड पथ –

+0

में शामिल नहीं है लेकिन मैं कर रहा हूँ 'बीमा/ब्रोकर/नकली_ब्रोकर' की आवश्यकता के साथ – rizidoro

+0

'रेल.root.join (' बीमा ',' ब्रोकर ',' fake_broker ') की आवश्यकता है, यह देखने के लिए कि यह कुछ भी बदलता है या नहीं। साथ ही, जब आप नए कॉल करते हैं, तो आपको दो तर्कों की आवश्यकता होगी जो मुझे आपकी प्रारंभिक विधि के अनुसार मानते हैं (यह एक और पूर्वानुमानित समस्या है;)) –

उत्तर

34

रूबी आपको बता रहा है कि उसे Insurance मिला, लेकिन यह एक मॉड्यूल नहीं है। शायद आपने पहले ही Insuranceकक्षा परिभाषित किया है?

आसपास के कोड पर निर्भर करता है कि आप एक डबल पेट prepending द्वारा नाम स्थान "रीसेट" यह मदद कर सकता है:

broker = ::Insurance::Broker::FakeBroker.new(1234,1234) 
+0

तार्किक लगता है ... हो सकता है कि आपके पास बीमा नामक रेल मॉडल भी हो? –

+3

उस मामले में डबल कोलन मदद नहीं करेगा क्योंकि मॉडल शीर्ष स्तर पर भी होगा। –

+3

हाँएप। वह समस्या थी! मेरे पास एक मॉडल बीमा है। धन्यवाद दोस्त! – rizidoro

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