设计发送欢迎电子邮件

Har*_*M V 1 ruby-on-rails devise ruby-on-rails-4

我有一个设计模型叫members我正在使用设计确认.确认后,我想向用户发送欢迎电子邮件

class Member < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :confirmable

  # Methods

  # Override devise confirm! message
  def confirm!
    welcome_email
    super
  end

  # Private Methods
  private

  def welcome_email
    MemberMailer.welcome_email(self).deliver
  end

end
Run Code Online (Sandbox Code Playgroud)

我的会员管理员居住在 mailers/brands/member_mailer.rb

class Brands::MemberMailer < ApplicationMailer

  # Send Welcome Email once Member confirms the account
  def welcome_email(member)
    @member = member
    mail(to: @member.email, subject: "Welcome to Skreem! Now you Rock!")
  end
end
Run Code Online (Sandbox Code Playgroud)

但通过邮件链接确认confirm!没有被覆盖,我没有收到任何错误或电子邮件.

dp7*_*dp7 7

将此添加到您的Member模型:

def after_confirmation
  welcome_email
end
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请查看 after_confirmation

@Pavan感谢你指出这一点.

你的welcome_email应该是:

def welcome_email
  Brands::MemberMailer.welcome_email(self).deliver
end
Run Code Online (Sandbox Code Playgroud)