メールを送信できません。私はすでに次のことを試しました: 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
ローカルホストでエラーが発生しています:
[Worker(host:ubuntu pid:12169)] Class#delivery_alert failed with NoMethodError: undefined method `delivery_alert' for # - lib フォルダーにパッチを追加した 5 回の試行が失敗しました
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
それでも私のメールは行きません。前もって感謝します?