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

时间:2012-02-24 12:30:31

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord activeadmin

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

由Annotate gem生成的架构信息:

#  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 :(得分:0)

我已经知道了:)这很愚蠢,但也许有人会需要提醒:应用程序首先从locale yml文件获取格式(这只是在活动管理员中设置日期格式的方式;来自初始化程序的格式不是&#39;重要):

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

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