nil的未定义方法`strftime':NilClass

时间:2013-04-20 07:50:23

标签: ruby ruby-on-rails-3 datetime

我有一个变量:@delivery_time

当我这样做时

o.delivery_time.strftime("%H:%M:%S") 

它给出了

undefined method `strftime' for nil:NilClass

当我这样做时:

debug o.delivery_time

它给出了:

--- 2000-01-01 11:00:00.000000000 Z  ...

此外,输出:

o.delivery_time

2000-01-01 11:00:00 UTC

这里我只想要时间值,即11:00。所以尝试了srtftime,但它没有用。

有人可以帮忙吗?

5 个答案:

答案 0 :(得分:1)

我有同样的问题,以下代码可以帮助我显示字段“时间”的小时和分钟。

 o.try(:delivery_time).try(:strftime, ("%H:%M"))

答案 1 :(得分:0)

错字:delievery_time vs delivery_time

编辑试试这个:

o.try(:delivery_time).strftime("%H:%M:%S") 

答案 2 :(得分:0)

这样做了一招:

 o.delivery_time.to_formatted_s(:time)

答案 3 :(得分:0)

试试这个:(:strftime,(" %m/%d/%Y %I:%M"))

答案 4 :(得分:0)

我有同样的问题并以这种方式解决:

o.delivery_time.strftime("%H:%M:%S") unless o.delivery_time.nil?