'T' добавляется в мои даты Ruby & Resque
По какой-то причине, когда я передаю свои datetime в другой класс с 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, нет, создал_ат"
Но когда я бегу
@query = [start_date, end_date, type, date_type].join(',')
из приведенной выше модели генератора, @query соответствует:
"2013-05-31T07: 59: 59-07: 00,2013-06-05T07: 59: 59-07: 00, Без,created_at"
Я предполагаю, что это как-то связано с Resque.enqueue, но не понимаю.
1 ответ
Я решил это. Проблема была с преобразованием для Time и DateTime. Я устанавливал значение Time, прежде чем перейти в класс Generator, и где-то вдоль строк оно преобразовывалось в DateTime.
Вот пост, который помог мне прийти к такому выводу: странное поведение Ruby в преобразовании DateTime в Time