#前提
deviceのログイン機能
【Rails】deviseを導入してみる
メールの認証機能
【devise】メール認証のサインアップ・イン・アウト機能
devise でメール認証を実装したい【Rails】
上記2つの機能を実装済みです。
#mailerをオーバーライドし、メソッドを作成
「app/controllers/users」に「mailer.rb」を作成します。
deviceのmailerを継承します。
mailer.rb
class Users::Mailer < Devise::Mailer
end
「config/initializers/devise.rb」の設定をします
devise.rb
config.mailer = 'Users::Mailer'
挿入したい画像を「/app/assets/images/mailer/」に入れる。
先ほど作成した「mailer.rb」にHTML形式のメールにで挿入する為のメソッドを追記する。
mailer.rb
class Users::Mailer < Devise::Mailer
before_action :add_image
private
def add_image
images = ['***.png', '***.jpg']
images.each do |img|
attachments.inline[img] = File.read("#{Rails.root}/app/assets/images/mailer/" + img)
end
end
end
#HTMLの編集
[/app/views/users/mailer/confirmation_instructions.html.erb」のファイルを修正する
confirmation_instructions.html.erb
<p>Welcome <%= @email %>!</p>
<p>会員登録ありがとうございます。</p>
<%= image_tag attachments['***.png'].url, alt: "***" %>
<%= image_tag attachments['***.jpg'].url, alt: "***" %>
<p><%= link_to 'アカウント有効化', confirmation_url(@resource, confirmation_token: @token) %></p>
こちらで会員登録した際に画像が挿入されています。
以上。ここまで読んでいただきありがとうございます。