Я пытаюсь засеять некоторые данные в приложение Rails 3, которое я разрабатываю, используя файл db/seed.rb и команду rake db: seed.
Данные, которые я посеял, включают таблицу базы данных, называемую Meeting, которая имеет три столбца: название строки, datetime startDate, datetime endDate. Время, которое я пытаюсь вставить, находится в формате "мм/дд/гггг. Чч: мм" - например. "01/02/2003 13:23" = 2 января 2003 года 13:23. Тем не менее, DateTime.parse() постоянно выдает ошибку с ошибкой "неверная дата" - при попытке проанализировать даты в формате "dd/mm/yyyy".
Из моего Googling я был убежден, что при анализе объектов DateTime компилятор просматривает строку, которая прошла и выполняет поспешное совпадение, а затем отображает "mm/dd/yyyy" и "dd-mm- yyyy" соответственно на американские/британские (и т.д.) стандарты, основанные на том, использовалась ли косая черта или тире в качестве разделителя. Однако, похоже, это не так, и мне интересно, почему. И как это исправить.
Вот как я посеяю собрания - первый правильно разбирает, второй - неудачный.
Meeting.create([
{
:title => "This meeting parses fine",
:startDate => DateTime.parse("09/01/2009 17:00"),
:endDate => DateTime.parse("09/01/2009 19:00")
},
{
:title => "This meeting errors out",
:startDate => DateTime.parse("09/14/2009 8:00")
:endDate => DateTime.parse("09/14/2009 9:00")
}])