我的导轨型号registrations
包含以下字段
attr_accessible :address, :company, :name, :phone, :email
我已成功通过用户发送的电子邮件向用户发送邮件,并使用动作邮件成功运行
def create
@registration = Registration.new(params[:registration])
respond_to do |format|
if @registration.save
UserMailer.registration_confirmation(@registration).deliver
format.html { redirect_to root_path, notice:" Thanks! #{@registration.name}, Your registration have been
confirmed & your seat reserved" }
format.json { render :show, status: :created, location: @registration }
else
format.html { render action: "new" }
format.json { render json: @registration.errors, status: :unprocessable_entity }
end
end
end
并且注册邮件正如此
def registration_confirmation(registration)
@registration = registration
@greeting = "Hi"
mail(to: @registration.email, subject: 'Welcome')
end
效果很好......
我想要达到的目的是能够将邮件发送到另一个电子邮件地址,例如(admin@gmail.com),说明用户已注册并且还显示注册详细信息...谢谢
答案 0 :(得分:1)
我会生成一个专门针对应发送给管理员的通知的新邮件。
rails g mailer AdminMailer registration_notice
然后,您可以将AdminMailer registration_notice编辑为与您的UserMailer类似,但使用不同的收件人:
def registration_notice(registration)
@registration = registration
mail(to: 'admin@gmail.com', subject: 'A new user has registered')
end
将您要包含的注册详细信息放入registration_notice.html.erb(或文本)的视图中。
然后在调用UserMailer之后立即将控制权添加到控制器的创建操作中:
def create
@registration = Registration.new(params[:registration])
respond_to do |format|
if @registration.save
UserMailer.registration_confirmation(@registration).deliver
AdminMailer.registration_notice(@registration).deliver
# etc
end
end
end
您可能还想考虑在后台发送邮件,而不是让用户等待创建请求完成,但这超出了这个问题的范围。