こんにちは、鈴木です。
Rails 4.1.0.rc1 を試しているのですが、メールのプレビューができるようになっていました。
以下のように rails generate で Mailer クラスを作ると、いくつかのファイルが生成されます。
1 2 3 4 5 6 7 |
$ bin/rails generate mailer hello create app/mailers/hello.rb invoke erb create app/views/hello invoke test_unit create test/mailers/hello_test.rb create test/mailers/previews/hello_preview.rb |
最後の行に注目して頂きたいのですが、hello_preview.rb というファイルが作成されました。
普通に Mailer クラスを書く
まずは何も気にせずに Mailer クラスを書いていきます。(app/mailers/hello.rb)
1 2 3 4 5 6 7 8 9 |
class Hello < ActionMailer::Base def welcome end end |
View ファイルも適当に作成します。( app/views/hello/welcome.text.erb)
1 2 |
こんにちは。 メールのサンプルです。 |
Preview クラスを書く
次に先ほど生成された test/mailers/previews/hello_preview.rb を開いて、以下のように書き換えます。
1 2 3 4 5 6 7 8 9 |
# Preview all emails at http://localhost:3000/rails/mailers/hello class HelloPreview < ActionMailer::Preview # 追加. def welcome Hello.welcome end end |
プレビューしてみる
サーバを起動して http://localhost:3000/rails/mailers/hello/welcome にアクセスすると、以下の画面が表示されました。
メールを送信せずに内容を確認できるので便利になりましたね。