Время UTC сбрасывается до 2000-01-01 (рубин). Как предотвратить сброс времени?

Я использую задачу и гем электронных таблиц для чтения электронных таблиц Excel в свою базу данных. Один из столбцов, в которых я читаю, - это start_time. Для этого я формирую массив значений, затем передаю каждое из этих значений массива, одно за другим.

  cnum_array = [] # for start times
  sheet1.each 3 do |row|
    unless row[9].blank?
      time = Time.parse(row[9])
      cnum_array << time.utc
    end 
  end

  count = 0
  for course in Course.all
    course.update_attribute :start_time, cnum_array[count]
    count += 1
  end

Кажется, это работает нормально. Если я вставлю в этот последний цикл оператор «Поместите Course.start_time», он выведет нужное время. Вот так:

  count = 0
  for course in Course.all
    course.update_attribute :start_time, cnum_array[count]
    puts course.start_time
    count += 1
  end

Это дает мне правильное время, например "2012-01-23 15:30:00."

Но когда я просматриваю время курса позже (например, через Course.find (1) .start_time моей консоли), он выдает «2000-01-01 15:20:00». Так что время дня правильное, но сам день восходит к 2000-01-01.

Кто-нибудь знает, почему это происходит, и как я могу это исправить? Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос