【问题标题】:Devise Sending Welcome Email设计发送欢迎电子邮件
【发布时间】:2016-08-04 11:29:49
【问题描述】:

我有一个名为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

我的 MemberMailer 位于 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

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

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-4 devise


【解决方案1】:

将此添加到您的 Member 模型中:

def after_confirmation
  welcome_email
end

更多信息请查看after_confirmation

@Pavan 感谢您指出这一点。

您的welcome_email 应该是:

def welcome_email
  Brands::MemberMailer.welcome_email(self).deliver
end

【讨论】:

  • 如果您还使用可再确认模块在用户更新电子邮件时再次确认用户,这是否只运行一次?
猜你喜欢
  • 2019-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
相关资源
最近更新 更多