Heroku上的strftime错误

时间:2014-08-03 15:36:14

标签: ruby-on-rails ruby ruby-on-rails-3 postgresql heroku

对RubyOnRails不熟悉,我在Heroku机器上遇到strftime错误,下面的代码是heroku日志进行验证。

2014-08-03T15:15:06.051867+00:00 app[web.1]: ActionView::Template::Error (can't convert 
ActiveSupport::TimeWithZone into an exact number):

此代码正在我的views / shared / events文件中使用

<%= Time.at(event_item.created_at).strftime("%d-%b-%Y") %>

这个代码在我当地的生产机器上工作很棒,但不是在heroku机器上,我完全混淆了,我认为heroku不支持strftime,还有其他方法吗?等待您的帮助,提前致谢。

注意:使用Postgresql for Database       Ruby 1.9.3       Rails 3.2.8

1 个答案:

答案 0 :(得分:2)

在格式化之前,您应该将时间转换为DateTime

当你最终显示日期时,我想这对你也有用:

<%= event_item.created_at.to_datetime.strftime("%d-%b-%Y") %>

Time.at()在这里似乎毫无用处:

Time.at(event_item.created_at).class     # => ActiveSupport::TimeWithZone
event_item.created_at.class              # => ActiveSupport::TimeWithZone
event_item.created_at.to_datetime.class  # => DateTime

有关 to_datetime

的更多信息