2013-06-17 1 views
1

По какой-то причине, когда я передаю свои данные в другой класс с помощью Resque.enqueue, я получаю добавленный «T», где после даты удаляются пробелы и удаляются другие пробелы ...'T' добавляется в мои datetime Ruby & Resque

Это метод:

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, None, created_at "

Но когда я бегу

@query = [start_date, end_date, type, date_type].join(',') 

от модели генератора выше, @query приравнивает к:

«2013-05-31T07: 59: 59-07: 00,2013-06-05T07: 59: 59-07: 00, None, created_at "

Я предполагаю, что это имеет какое-то отношение к Resque.enqueue, но не понимаю.

ответ

1

Я решил. Проблема заключалась в преобразовании Time и DateTime. Я устанавливал значение «Время» перед тем, как перейти в класс «Генератор» и где-то по линиям, которые он преобразовывал в DateTime.

Вот пост, который помог мне прийти к такому выводу: Weird Ruby Behavior in DateTime to Time conversion