2009-05-22 13 views
5

में एक अलग वर्ग में हेल्पर्स का उपयोग कैसे करूं, मुझे lib फ़ोल्डर में एक फ़ाइल बनाने के लिए लिखा गया है और मैं उस फ़ाइल में TextHelper का उपयोग करना चाहता हूं। मैं टेक्स्टहेपर कैसे उपलब्ध करा सकता हूं?रेल: मैं lib

सुझाव की सराहना की, धन्यवाद,

उत्तर

6

वास्तव में यह है कि मुश्किल बिल्कुल नहीं है। आप बस अपनी कक्षा से TextHelper मॉड्यूल शामिल कर सकते हैं।

class MyLib 
    include ActionView::Helpers::TextHelper 

    def five_things(x) 
    pluralize 5, x 
    end 
end 

>> MyLib.new.five_things "dog" 
=> "5 dogs" 

एक वर्ग मैं lib में परिभाषित किया गया है, और एक script/console सत्र से उत्पादन से है कि यकीन है कि यह सब अच्छा खेलता है बनाने के लिए।

+2

अजीब इस करता है, तो यह इस तरह 'डीईएफ़ स्वयं के रूप में एक वर्ग विधि है, काम करने के लिए प्रतीत नहीं होता .five_things (एक्स) '। कोई विचार क्यों? –

+0

'MyLib.new.five_things' के बजाय' MyLib.five_things' आज़माएं – Jason

+0

यह प्रोडक्शन मोड में काम नहीं कर रहा है, किसी भी विचार क्यों? – Christoffer

0

उन जिसे self तरीकों सहायक से कार्यों के वारिस नहीं हैं के लिए, यह काम करेगा:

class MyLib 

    class << self 

    include Path::To::YourHelper 

    def test_func(x) 
     method_in_helper 5, x 
    end 

    end 

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