【发布时间】:2017-12-15 19:29:55
【问题描述】:
这里我称之为工作-传递过程:
ProcedureDayAfterJob.set(wait_until: reminder_for_jo).perform_later(procedure)
这是工作本身 - 以过程为参数:
class ProcedureDayAfterJob < ActiveJob::Base
queue_as :mailers
def perform(procedure)
return if procedure.upcoming?
Admin::NotificationMailer.procedure_day_after(procedure).deliver_later
end
end
这是邮件程序中的方法 - 以过程为参数:
def procedure_day_after(procedure)
@procedure = procedure
mail(
# hiding who im sending to
)
end
这是我得到的错误:
2017-12-15T19:25:57.365Z 9222 TID-oxvg7jsso ERROR: !!! ERROR HANDLER
THREW AN ERROR !!!
2017-12-15T19:25:57.365Z 9222 TID-oxvg7jsso ERROR: wrong number of
arguments (0 for 1)
2017-12-15T19:25:57.365Z 9222 TID-oxvg7jsso ERROR:
/Users/foreverlabs/foreverlabs/app/jobs/procedure_day_after_job.rb:4:in
`perform'
我将参数传递给每个方法,所以任何人都可以弄清楚发生了什么?
【问题讨论】:
-
您确定您正在查看堆栈跟踪中的正确行吗?
标签: ruby-on-rails rails-activejob