LoginSignup
0
0

More than 3 years have passed since last update.

Rails技術者認定資格試験対策 ActionMailer

Posted at

始めに

Rails認定資格を受験するにあたって、今回はActionMailerの項目をRailsチュートリアルを中心に自分なりにまとめて行きたいと思います。

ActionMailerとは

ActionMailerはRails上でメールの送信機能を実装するのに役立ちます。メール送信の機能を実装するためにメイラーとビューを作成していきます。

rails g mailer UserMailer

上記のコマンドでメイラー、ビューファイルを作成します。メイラーはUserMailerとApplicationMailerが作成されApplicationMailerはActionMailer::Baseを継承して作成されます。そしてUserMailerはそのApplicationMailerを継承しています。よって以下のような関係になります。

UserMailer(自分で作成したメイラー名) < ApplicationMailer < ActionMailer::Base

UserMailerファイルではActionMailerのメソッドであるdefaultやmailを使って、

user_mailer.rb
class UserMailer < ApllicationMailer

  default: from: 'sample@example.com'
  # 実装したいメールの機能をメソッドとして実装する
  # メール認証によるアカウントの有効化

  def account_activation(user)
    @user = user
    mail to: user.email
  end

  # パスワードの初期化

  def password_reset
    mail to: "user@example.com"
  end

end

メールの文章の設定はメイラービューで設定します。上記の「メール認証によるアカウントの有効化」「パスワードの初期化」の文章はそれぞれ、app/views/user_mailerの下にaccount_activation.text.erb、password_reset.text.erbといった名前で文章を設定することが出来ます。こちらのファイルの中に送信したい文章を入力すれば、それぞれのメールが送られるときに処理の内容に沿った文章のメールを送ることが出来ます。

このようにActionMailerの挙動はメイラーをコントローラーと考えると、メイラーはコントローラーによく似ていてメイラーに処理を書いて、メイラー内で定義されたインスタンス変数はメイラービュー内でも使用することが出来ます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0