【发布时间】:2013-04-11 14:26:39
【问题描述】:
我在使用 Nginx 的生产环境中实现 Delayed_Job_Active_Record gem 时遇到问题。用户提交“联系我们”表单,Nginx 调用了相关的控制器操作,以下代码行失败:
@contact.delay.send_contact_form
相关方法在哪里:
def send_contact_form
ContactMailer.contact_us(self).deliver
end
开发环境:OK
- 在我的本地计算机上,我有 Webrick 提供的页面。一切正常,延迟的作业会通过“Delayed_Jobs”表并发送电子邮件。
生产环境 - Rails 控制台:好的
- 如果我在服务器上创建
@contact并手动调用@contact.delay.send_contact_form,延迟的作业会通过延迟的作业表并发送电子邮件。
生产环境 - Webrick:好的
- 在服务器上,如果我启动 Rails Webrick 服务器,我会通过 Web 界面输入
@contact的数据,然后提交作业,然后通过延迟作业表发送电子邮件。
生产环境 - Nginx:错误
- 该应用程序目前由 Nginx 提供服务。
- 如果我通过Nginx访问界面,输入
@contact的数据,提交页面就挂了。 - 生产日志在控制器操作上给出以下错误,(参考上面的行):
NoMethodError(#<0x000000052962b0>0x000000052962b0>
标签: nginx ruby-on-rails-3.2 delayed-job nomethoderror