我有一个非常简单的Rails应用程序,我想在创建工作请求时发送电子邮件.我是Rails的新手,所以我找到了一些关于如何在线完成的细节.设置邮件程序,配置它等.设置我的模板.精细.
在我的work_requests_controller.rb中,我有:
def create
@work_request = WorkRequest.new(params[:work_request])
respond_to do |format|
if @work_request.save
# Tell the mailer to send a welcome Email after save
PersonMailer.work_request_init_email(@work_request).deliver
format.html... etc.
知道邮件是有效的,因为如果我去Rails控制台,创建WorkRequest对象,并使用完全相同的行(PersonMailer.work …)它发送邮件就好了.但是当我在我的应用程序中创建工作请求时,没有收到任何邮件,浏览器或logs / development.log中不会显示任何错误.
在服务器输出中,我看到HTML版本已呈现,我看到有关电子邮件的信息,它看起来都很笨拙.由于我没有错误,我不知道如何继续.
最佳答案 好吧,我是正式的白痴. 🙂
处理另一个问题,我正在编辑application.rb.我想我需要重新启动服务器才能看到这些变化.突然,电子邮件在应用程序内部工作.
D’哦!我没有意识到(菜鸟错误)我需要重新启动应用程序的服务器以查看我昨天在environment.rb中放置的电子邮件配置.我从来没有尝试过那种原因.
我现在看到,只有在服务器启动时才运行其他组件.所以当然,当我启动控制台时,它当然会运行所有初始化程序,因此电子邮件配置可见,并且电子邮件已发送.
所以答案是,重启你的服务器,愚蠢.好吧,无论如何,至少它现在正在工作……我会把它带到我能得到的地方!