Home

Preview Emails in Rails

Rails 4.1 introduced the ability to preview email messages from your mailers without sending an email. Learn how ...

As of Rails 4.1, you can now preview emails while developing (without sending an email). Let's say you have a mailer that looks like this:

app/mailers/notification_mailer.rb

class NotificationMailer < ActionMailer::Base

def welcome(user)
@user = user
mail :to => user.email, :from => 'me@mydomain.com',
:subject => 'Welcome!'
end

end

To preview it, create a file in test/previews and call the mailer method just as you would from any model or controller in your app.

test/previews/notification_preview.rb

class NotificationPreview < ActionMailer::Preview

def welcome
NotificationMailer.welcome(User.first)
end

end

Then you can preview the email at [/rails/mailers/notification/welcome](http:// rails/mailers/notification/welcome).

Notice the preview route matches the preview class name and then preview method, which doesn't necessarily need to be related to the mailer itself.

Also note the preview filename is appended with _preview.

Let's Connect

Keep Reading

Connect to Multiple Databases in a Rake Task with Rails

Sometimes you need access to multiple database within a single rake task, for whatever reason. Here's how you do it.

Feb 17, 2015

Connect to a Remote MySQL Database in Rails

Using a remote database with rails is useful for collaborating on projects or for keeping all your data in one place. Here's how to get it set up from scratch.

Mar 09, 2015

Instantiate a Class from a String in Rails

Rails classes need to be called dynamically sometimes. Learn how to do it using the constantize inflector.

Nov 20, 2014