我正在排队运行包含此范围的方法的DelayedJob:
scope :before, lambda {|time| {:conditions => ["created_at >= ? AND updated_at <= ?", Time.now.utc - 86400 * 14, Time.now.utc - time] }}
但是在运行这份工作时,我收到了这个错误:
Class#update_all_numbers failed with TypeError: can't convert Delayed::Backend::ActiveRecord::Job into an exact number
范围中的time
变量只是一个整数(如300
),但由于某种原因,它会抛出错误。如果我删除- time
或只是输入一个静态数字,它运行正常。
答案 0 :(得分:-1)
您可以尝试通过
替换原始算术Date.today - 14.days