? Se me ocurrió escribir un archivo en la carpeta lib y quiero usar TextHelper en ese archivo. ¿Cómo puedo hacer que Texthelper esté disponible?Rails: ¿Cómo utilizo helpers en una clase separada en lib
Sugerencias apreciados, Gracias,
? Se me ocurrió escribir un archivo en la carpeta lib y quiero usar TextHelper en ese archivo. ¿Cómo puedo hacer que Texthelper esté disponible?Rails: ¿Cómo utilizo helpers en una clase separada en lib
Sugerencias apreciados, Gracias,
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.
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
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é? –
Pruebe 'MyLib.five_things' en lugar de' MyLib.new.five_things' – Jason
Esto no parece funcionar en modo de producción, ¿por qué no hay ideas? – Christoffer