我对 Rails 还很陌生,并试图弄清楚。我最近得到了一个邮件程序的所有设置,它工作正常。但我正在尝试为用户操作添加第二个邮件程序,但它似乎不起作用。
我想要实现的是用户注册,它向管理员发送电子邮件,然后管理员必须启用用户。目前,当管理员启用用户时,它会向他们发送一封电子邮件,但由于某种原因,我新创建的用户电子邮件不会触发。我认为这是因为我的 create 方法没有触发,我应该把它放在哪里?我需要覆盖用户方法吗?
我的 UserMailer 控制器:
class UserMailer < ActionMailer::Base
default from: "website@rnd.designcom.com.au"
def send_enabled_message(user)
@user = user
mail(:to => user.email, :subject => "Welcome to Pixel Technologies!!!")
end
def send_new_user_message(user)
@user = user
mail(:to => 'ben.suryn@rnd.designcom.com.au', :subject => "New User created please review and enable.")
end
end
我的用户控制器:
class UsersController < ApplicationController
before_filter :authenticate_user!
load_and_authorize_resource
# POST /users
def create
@user = User.new(user_params)
puts "******************** NEW USER ****************************"
puts user_params
if @user.save
puts 'Sending email for create user'
UserMailer.send_new_user_message(@user).deliver
redirect_to @user, notice: 'User was successfully created.'
else
render action: 'new'
end
end
但是这个 create 方法永远不会被触发。我做错了什么。是否有另一种方法我需要把 UserMailer.send_new_user_message(@user).deliver?