Tuesday, April 28, 2009

Layout in actionmailer

By default mailer methods expects layout in view/layouts directory by the underscored version of the mailer class name.

If mailer class is like

class UserMailer <

def welcome_mail()



then the mailer layout name will be user_mailer.html.erb in view/layouts directory. The layout name needs to end in “_mailer” to be automatically recognized by mailer as a layout.

Content of user_mailer.html.erb should contain yield like the application layout. In this example the welcome_mail.html.erb will be rendered at yield position.

A different layout can also be set using

layout 'awesome' # it will use awesome.html.erb as the layout

class UserMailer < ActionMailer::Base

layout 'awesome'


Resource: http://guides.rubyonrails.org/action_mailer_basics.html

1 comment:

Ashrafuzzaman said...

Nice post.
Thanks for shearing.