UserMailer的未定义方法`delay':Class

时间:2013-09-04 06:36:56

标签: ruby-on-rails backgroundworker delay delayed-job


使用延迟方法异步编写邮件通知过程时出现以下错误。

NoMethodError in SampleController#create

undefined method `delay' for UserMailer:Class

我的控制器中有以下代码。

UserMailer.delay.idea_author_notification(self,nfication)

我已经安装了delayed_job gem,并使用 jobs:work rake任务启动delayed_job。

我是否需要对使用延迟方法在后台执行邮件相关代码进行一些其他更改?

请尽快帮助我..

先谢谢...

1 个答案:

答案 0 :(得分:-2)

任何动作邮件程序类都不存在延迟方法。因此,您无法为 UserMailer:Class 调用该方法。

为此,您可以在rails控制台中检查邮件程序类的所有方法。即
UserMailer.methods
并检查是否存在特定方法,运行以下行。

UserMailer.methods.include?(:延迟)
上面的行返回 false

OR

如果您想使用延迟的工作,请在github中查看以下链接。它肯定会对你有所帮助。

delayed_jobs_for_rails2.x.x