TypeError:无法转换为确切的数字

时间:2011-09-14 20:27:17

标签: ruby-on-rails ruby-on-rails-3 scope delayed-job

我正在排队运行包含此范围的方法的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或只是输入一个静态数字,它运行正常。

1 个答案:

答案 0 :(得分:-1)

您可以尝试通过

替换原始算术
Date.today - 14.days