使用Devise通知管理员新的注册

时间:2012-02-02 16:52:59

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

我的所有用户在获得管理员批准之前都将获得批准,管理员将登录该网站以将用户标记为已批准。我正在关注Devise docs here这项工作很棒但是如果新用户注册后如何向管理员发送电子邮件以便管理员知道并且可以批准注册?

2 个答案:

答案 0 :(得分:9)

在你的用户模型中,做这样的事情:

after_create :send_admin_mail
def send_admin_mail
   ###Send email stuff here
end

您可能想要使用ActionMailer

可能有一些内置的Devise方式,但我找不到任何东西。这基本上只是向您发送警报。

答案 1 :(得分:-1)

截至2020年

文档已更新,可以回答问题here。当然,可以随时根据您的需求进行修改。

摘要:

运行rails g mailer AdminMailer之后。将app/mailers/admin_mailer.rb修改为以下内容:

class AdminMailer < Devise::Mailer
    default from: 'from@example.com'
    layout 'mailer'

    def new_user_waiting_for_approval(email)
      @email = email
      mail(to: 'admin@email.com', subject: 'New User Awaiting Admin Approval')
    end
  end

然后将app/models/user.rb更新为:

  after_create :send_admin_mail
  def send_admin_mail
    AdminMailer.new_user_waiting_for_approval(email).deliver
  end

最后,根据您的需求views/admin_mailer/new_user_waiting_for_approval.erb修改以下内容。