DateTime在Rails4中显示为零



我在Rails 4中工作,并试图格式化从SQLite DB中提取的日期时间。我在模型中工作,但对象类的行为非常奇怪。

如果我键入:Duration <%= micropost.duration %>

然后打印完整的日期时间。我只想要时间。

如果我键入:Duration <%= micropost.duration.strftime("%H:%M:%S") %>

那么我得到错误:用于nil:NilClass`的undefined method strftime'

所以我试着输入:Duration <%= micropost.duration.class %>

并返回类型:ActiveSupport::TimeWithZone

看起来它有时会识别类型,有时不会。为了使问题更加复杂,在IRB中,strftime("%H:%M:%S")方法起作用。

Rails4中的"如何从db:datetime记录格式化时间和日期"中也提出了类似的问题,但该解决方案不起作用。我找对地方了吗?

我认为您正在循环中尝试它,并且任何一个micropost持续时间都为零。试试这个

Duration <%= micropost.duration.strftime("%H:%M:%S") if micropost.duration.present? %>

相关内容

  • 没有找到相关文章

最新更新