use*_*317 6 ruby-on-rails rails-activejob
我的工作中有以下片段:
before_enqueue do |job|
# do something
@car = create_car
end
before_perform do |job|
# do something
@car.update(type: 'broken')
end
Run Code Online (Sandbox Code Playgroud)
但当工作执行时@car是nil. 是否可以以某种方式将实例变量从一个回调传递到第二个回调?哪怕只是ID也好。干杯。
您需要将其设为实例变量job并以这种方式访问:
class Car < ActiveJob::Base
attr_accessor :car
end
Run Code Online (Sandbox Code Playgroud)
然后
before_enqueue do |job|
# do something
job.car = create_car
end
before_perform do |job|
# do something
job.car.update(type: 'broken')
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2706 次 |
| 最近记录: |