由于某些原因,当我将日期时间传递给另一个使用Resque.enqueue的类时,我在日期之后有空格并且其他空格被删除时添加了“T”...
这是方法:
def self.enqueue_job(start_date, end_date, type, date_type)
query = [start_date, end_date, type, date_type].join(',')
begin
Resque.enqueue(Reports::Generator, start_date, end_date, type, date_type)
add_to_queue(query)
rescue Resque::TermException
Resque.enqueue(Reports::Generator, start_date, end_date, type, date_type)
end
end
将查询变量设置为:
“2013-05-31 07:59:59 -0700,2013-06-05 07:59:59 -0700,无,created_at”
但是当我跑步时
@query = [start_date, end_date, type, date_type].join(',')
从上面的Generator模型中,@ query等同于:
“2013-05-31T07:59:59-07:00,2013-06-05T07:59:59-07:00,无,created_at”
我猜它与Resque.enqueue有关,但不明白。
答案 0 :(得分:1)
我解决了。问题在于时间和日期时间的转换。我在传入Generator类之前将值设置为Time,并将其转换为DateTime。
以下是帮助我得出这个结论的帖子: Weird Ruby Behavior in DateTime to Time conversion