我无法发送电子邮件。我已经尝试过以下方法: 将处理程序的类型从文本转换为长文本不起作用,因为我正在使用postgres。 我也尝试重新启动工作人员并延迟工作 我推迟的工作是版本是3.0.1。
我遇到问题:
Notifier.delay.delivery_alert(u)的
我的delivery_alert方法是
def delivery_alert(user)
@user = user
@deliveries = @user.issues.includes(:copy => [:rentable]).current.by_last_status("to_be_delivered").map(&:copy).map(&:rentable)
@returns = @user.issues.includes(:copy => [:rentable]).current.by_last_status("marked_for_return").map(&:copy).map(&:rentable)
mail(:to => @user.email)
end
在localhost上我收到错误:
[Worker(host:ubuntu pid:12169)] Class#delivery_alert因NoMethodError失败:未定义的方法`delivery_alert'表示# - 5次尝试失败 我在我的lib文件夹中添加了补丁
require 'yaml'
module Delayed
module Backend
module Base
def payload_object
YAML::ENGINE.yamler = 'psych'
@payload_object ||= YAML.load(self.handler)
rescue TypeError, LoadError, NameError, ArgumentError => e
raise DeserializationError,
"Job failed to load: #{e.message}. Handler: #{handler.inspect}"
end
end
end
class PerformableMailer
def perform
double = object.is_a?( String ) ? object.constantize : object
double.send(method_name, *args).deliver
end
end
end
参考
https://gist.github.com/oelmekki/2181381
但我的电子邮件仍未发送。提前谢谢?