NilClass#因TypeError而失败:nil不是符号

时间:2013-10-15 12:19:02

标签: ruby-on-rails-3.1 actionmailer delayed-job

我无法发送电子邮件。我已经尝试过以下方法: 将处理程序的类型从文本转换为长文本不起作用,因为我正在使用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

但我的电子邮件仍未发送。提前谢谢?

0 个答案:

没有答案