2010-07-06 21 views
9

He encontrado mucha información sobre cómo agregar métodos de ayuda de formulario (vea una de mis otras preguntas), pero no encuentro nada sobre cómo agregar métodos de ayuda como si estuvieran definidos en application_helper.rb.Añadiendo un método de ayuda con una gema

He intentado copiar application_helper.rb de una aplicación de rieles en la gema pero eso no funcionó.

También he intentado:

class ActionView::Helpers 

..pero que produce un error.

Respuesta

24

Cree un módulo en alguna parte de sus métodos de ayuda:

module MyHelper 
    def mymethod 
    end 
end 

la mezclan con la ActionView :: Base (como en init.rb o lib/your_lib_file.rb)

ActionView::Base.send :include, MyHelper 
+1

Según comentario @BrandonTilley [aquí] (http://stackoverflow.com/questions/5791211/how-do-i-extract-rails-view-helpers-into-a-gem#comment-42572499) debe usar 'ActiveSupport.on_load (: action_view) {include MyGem :: ViewHelpers} 'en lugar de' send: include' a partir de ActiveSupport 3.0.0. Más detalles en el hilo SO vinculado. – plunntic

Cuestiones relacionadas