Я использую задачу и гем электронных таблиц для чтения электронных таблиц 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.
Кто-нибудь знает, почему это происходит, и как я могу это исправить? Спасибо!