2011-07-22 10 views
16

¿Es esta la mejor manera de hacer que un Ayudante esté disponible tanto para el Enrutador como para la vista en Rails 3.1?Haga que un Ayudante personalizado esté disponible tanto para el Enrutador como para Vista en Rails 3.1

class EventMailer < ActionMailer::Base 
    include MailerHelper 
    helper :mailer 

me trataron

helper :mailer 

por sí mismo, pero eso no me permite utilizar los ayudantes en la clase EventMailer.

I intentado

add_template_helper(MailerHelper) 

pero tenía el mismo problema.

Respuesta

33

Los ayudantes de rieles se supone que son ver ayudantes.

Usted notará que el siguiente código:

class MyController < ApplicationController 
    helper :my 
end 

hará que los métodos de MyHelper a disposición de los puntos de vista, pero no a sus acciones del controlador. include MyHelper hará que los métodos auxiliares estén disponibles en el controlador.

resumirse así:

helper :my y se puede utilizar los ayudantes en sus puntos de vista

include MyHelper y se puede utilizar los ayudantes en su controlador

he explicado un poco más, pero ya respondido a su pregunta :

class EventMailer < ActionMailer::Base 
    include MailerHelper 
    helper :mailer 

    # rest of the code goes here ... 
end 

hará lo que quiera y le permitirá usar su ayudante tanto en su anuncio publicitario y sus puntos de vista.

Espero que esto ayude.

Cuestiones relacionadas