应用程序显示错误的小时和分钟

zac*_*har 6 ruby activerecord ruby-on-rails ruby-on-rails-3 activeadmin

起初:那不是错误区域的问题.在irb和数据库中,一切都很好.当我想在我的视图中显示日期(created_at,updated_at以及我自己在每个模型中定义的日期)时出现问题.我试图在application.rb中设置时区并从初始化程序中删除时间格式,但这并没有解决我的问题.

Annotate gem生成的架构信息:

#  created_at                      :datetime
#  updated_at                      :datetime
#  publish_at                      :datetime
Run Code Online (Sandbox Code Playgroud)

来自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
Run Code Online (Sandbox Code Playgroud)

例子:

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"...> 
Run Code Online (Sandbox Code Playgroud)

应用显示:

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"...> 
Run Code Online (Sandbox Code Playgroud)

应用显示:

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

这适用于整个应用程序(包括active_admin)

对不起我的英文;)任何想法我的问题是什么原因?

zac*_*har 0

我明白了:)这很愚蠢,但也许有人需要提醒:应用程序首先从语言环境 yml 文件获取格式(这是在活动管理中设置日期格式的唯一方法;来自初始化程序的格式并不重要):

time:
  formats:
    default: "%Y-%m-%d"
    short: "%b %d"
    long: "%Y-%m-%d %H:%m"
Run Code Online (Sandbox Code Playgroud)

长格式的 ofc 分钟应为 %M(而不是 %m)