2009-05-22 20 views

Respuesta

6

En realidad no es tan difícil en absoluto. Puede simplemente incluir el módulo TextHelper de su clase.

class MyLib 
    include ActionView::Helpers::TextHelper 

    def five_things(x) 
    pluralize 5, x 
    end 
end 

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

Eso es de una clase que se define en lib, y la salida de una sesión script/console para asegurarse de que todo se desarrolla bien.

+2

Curiosamente esto no parece funcionar si se trata de un método de clase, como por ejemplo 'auto def .five_things (x) '. ¿Alguna idea de por qué? –

+0

Pruebe 'MyLib.five_things' en lugar de' MyLib.new.five_things' – Jason

+0

Esto no parece funcionar en modo de producción, ¿por qué no hay ideas? – Christoffer

0

Para aquellos a los que no se parecen los métodos self para heredar las funciones de ayudante, esto va a funcionar:

class MyLib 

    class << self 

    include Path::To::YourHelper 

    def test_func(x) 
     method_in_helper 5, x 
    end 

    end 

end 
Cuestiones relacionadas