Приложение отображает неправильные часы и минуты - PullRequest
6 голосов
/ 24 февраля 2012

Во-первых: это не проблема неправильной зоны.В irb и базе данных все нормально.Проблема возникает, когда я хочу, чтобы в моих представлениях отображались даты (созданы, обновлены и все определенные мной в каждой модели).Я пытался установить часовой пояс в application.rb и удалить форматы времени из инициализаторов, но это не решило мою проблему.

информация о схеме, сгенерированная гемом Annotate:

#  created_at                      :datetime
#  updated_at                      :datetime
#  publish_at                      :datetime

от irb:

1.9.2-p290 :004 > Time.zone
 => (GMT+00:00) UTC 
1.9.2-p290 :005 > Time.zone.now
 => Fri, 24 Feb 2012 12:14:04 UTC +00:00 
1.9.2-p290 :006 > Time.now
 => 2012-02-24 13:14:07 +0100

Примеры:

1.9.2-p290 :007 > Article.last
  Article Load (0.3ms)  SELECT `articles`.* FROM `articles` ORDER BY `articles`.`id` DESC LIMIT 1
 => #<... created_at: "2012-02-24 12:04:24", updated_at: "2012-02-24 12:04:24", publish_at: "2012-02-24 12:04:24"...> 

Отображение приложения:

Created_at 2012-02-24 12:02, updated_at 2012-02-24 12:02, Publish_at 2012-02-24 12: 02,

1.9.2-p290 :008 > Article.first
  Article Load (0.5ms)  SELECT `articles`.* FROM `articles` LIMIT 1
=> #<...created_at: "2012-01-30 10:28:07", updated_at: "2012-02-08 17:20:41", publish_at: "2012-02-08 17:20:33"...> 

Отображение приложения:

Created_at 2012-01-30 10:01, updated_at 2012-02-08 17:02, Publish_at 2012-02-08 17: 02

Это относится ко всему приложению (включая active_admin)

Извините за мой английский;) Есть идеи, в чем причина моей проблемы?

1 Ответ

0 голосов
/ 27 февраля 2012

Я понял :) Это было глупо, но, возможно, кому-то понадобится напоминание: приложение сначала получает формат из файла yml локали (это единственный способ установить формат даты в активном администраторе; форматы из инициализаторов не имеют значения):

time:
  formats:
    default: "%Y-%m-%d"
    short: "%b %d"
    long: "%Y-%m-%d %H:%m"

и ofc минут в длинном формате должно быть% M (не% m)

...