gpt4 book ai didi

ruby-on-rails - Rails 3 - Delayed_Job (collectiveidea),试图延迟邮件程序 - 错误 : NoMethodError (undefined method `delay' for UserMailer:Class)

转载 作者:行者123 更新时间:2023-12-04 15:04:15 26 4
gpt4 key购买 nike

我在这里使用了 delay_job gem:https://github.com/collectiveidea/delayed_job

我在观察者中有以下内容:

UserMailer.delay.msg_notification(record) 

在 user_mailer.rb 中
class UserMailer < ActionMailer::Base 
...
def msg_notification(record)
mail(
:to => "#{record.user.email}",
:subject => "Notification"
)
end
..
end

但是这个错误:
 NoMethodError (undefined method `delay' for UserMailer:Class): 

有任何想法吗?谢谢

最佳答案

我在我们的 Rails 应用程序(2.3.8,但问题听起来一样)上看到过这样的问题。基本上,有三种方法可以延迟一个 Action :

  • MyClass.delay.foo(arg)
  • 推杆 handle_asynchronously :foo在 foo 定义之后的类定义中
  • MyClass.send_later(:foo, arg)

  • 无论出于何种原因,#3 是唯一一种在我们所有的开发机器上都能一致工作的形式。 #1 死在我们的开发服务器 (Ubuntu) 上; #2 在我们设计师的 Mac 上。但是#3 很好。

    希望有帮助!

    关于ruby-on-rails - Rails 3 - Delayed_Job (collectiveidea),试图延迟邮件程序 - 错误 : NoMethodError (undefined method `delay' for UserMailer:Class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4418697/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com