[ACCEPTED]-How do I configure devise to use a custom email layout?-mailer
Found the answer sitting in the Devise Github 2 wiki,
Reading that helps. ;-)
config.to_prepare do
Devise::Mailer.layout "simple" # simple.haml or simple.erb
Devise::Mailer.helper :mailer
end
Here is the 1 reference of the wiki page: How To: Create custom layouts
There is also a parent_mailer option in devise.rb, let's say you 9 are sending emails outside of devise, by 8 default this option is set to ActionMailer::Base, but if you 7 have an ApplicationMailer that already is inheriting from 6 ActionMailer::Base, you could change parent_mailer to this and get all 5 your layouts and configurations out of the box.
In any case is 4 a lot cleaner to use this to keep the rails 3 flow of layouts in your applications if 2 you don't want to change anything in the 1 devise mailer controller.
# devise.rb
config.parent_mailer = 'ApplicationMailer'
# application_mailer.rb
class ApplicationMailer < ActionMailer::Base
layout 'mailer'
end
# Devise::Mailer inherits from ActionMailer::Base other mail will work fine.
## app/mailers/deviser_mailer.rb
class DeviseMailer < Devise::Mailer
layout 'email'
default from: I18n.t("mailer.default.from")
end
## then in config/initializer/devise.rb
# Configure the class responsible to send e-mails.
config.mailer = "DeviseMailer"
Make sure to restart your rails server as 1 you changed an initializer.
More Related questions
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.