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)
对不起我的英文;)任何想法我的问题是什么原因?
我明白了:)这很愚蠢,但也许有人需要提醒:应用程序首先从语言环境 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)