2009-05-22 5 views

Antwort

6

Eigentlich ist es nicht, dass alle hart. Sie können einfach das Modul TextHelper Ihrer Klasse hinzufügen.

class MyLib 
    include ActionView::Helpers::TextHelper 

    def five_things(x) 
    pluralize 5, x 
    end 
end 

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

, die von einer Klasse, das ich in lib definiert und Ausgabe von einer script/console Sitzung um sicherzustellen, dass alles schön spielt.

+2

Seltsamer dies nicht zu funktionieren scheint, wenn es sich um eine Klassenmethode, wie 'def selbst ist .five_things (x) '. Irgendeine Idee warum? –

+0

Versuchen Sie 'MyLib.five_things' anstelle von' MyLib.new.five_things' – Jason

+0

Dies scheint nicht im Produktionsmodus zu arbeiten, irgendwelche Ideen warum? – Christoffer

0

Für diejenigen, die die self Methoden scheinen nicht die Funktionen von Helfer zu erben, wird diese Arbeit:

class MyLib 

    class << self 

    include Path::To::YourHelper 

    def test_func(x) 
     method_in_helper 5, x 
    end 

    end 

end 
Verwandte Themen