2011-09-25 18 views
7

¿Es posible personalizar la ruta de la plantilla para Rails 3.1 ActionMailers? De forma predeterminada, Rails se ve en:Rails 3.1 ActionMailer Custom Template Path?

/app/views/[mailer_class] 

para las plantillas de vista de correo. Sin embargo, me gustaría mucho más organizarlos en:

/app/mailers/views/[mailer_class] 

o al menos:

/app/views/mailers/[mailer_class] 

sé que esto era posible en 2.3 mediante el parámetro de configuración de ActionMailer template_path, pero que parece estar en desuso a partir del Rails 3. ¿Este tipo de personalización ya no es posible?

Respuesta

12

Este tipo de personalización es posible aún. Hay dos formas diferentes de hacerlo, dependiendo de cómo se escriban sus publicidades.

Si tiene los bloques de formato como format.html puede pasar el render '/ path/to/template'.

O si usted apenas está llamando electrónico() hay dos opciones para configurar la ruta y el nombre plantilla, que debe sólo tiene que pasar la opción de ruta:

mail(:template_path => 'mailers/[mailer_class]', :template_name => '[mailer_method]') 

Usted debe comprobar fuera de las guías de Rieles para obtener información más detallada.

http://guides.rubyonrails.org/action_mailer_basics.html#mailer-views

+2

que había visto los documentos, pero no me había dado cuenta de que era template_path relación a/app/views. ¡Gracias! – odonnellt