首先:那不是错误区域的问题。在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)
对不起我的英语;)任何想法我的问题是什么原因?
答案 0 :(得分:0)
我已经知道了:)这很愚蠢,但也许有人会需要提醒:应用程序首先从locale yml文件获取格式(这只是在活动管理员中设置日期格式的方式;来自初始化程序的格式不是&#39;重要):
time:
formats:
default: "%Y-%m-%d"
short: "%b %d"
long: "%Y-%m-%d %H:%m"
和长格式的ofc分钟应为%M(不是%m)