nil的未定义方法'strftime':NilClass当值不是nil时

时间:2012-05-10 18:13:31

标签: ruby-on-rails null strftime

我在Rails中显示时间时出现了一个奇怪的错误

<%= Time.zone.parse(e["start_time"])%>

显示完整时间戳字符串。 “2010-09-02 18:00:00 -0500”

<%= Time.zone.parse(e["start_time"]).strftime()%>

显示我提供的预期错误(0 of 1)参数。再次,预期。

<%= Time.zone.parse(e["start_time"]).strftime("%Y")%>

显示错误“nil:NilClass的未定义方法'strftime'。

所以我的e [“start_time”]字段填充的,但我无法弄清楚为什么指定strftime()希望结果为Nil值的参数。

1 个答案:

答案 0 :(得分:1)

我尝试时会起作用:

irb(main):005:0> Time.zone.parse("2012-04-05 12:00:02").strftime("%Y")
=> "2012"

偶:

irb(main):006:0> Time.zone.parse("2012-04-05 12:00:02 -0500").strftime("%Y")
=> "2012"

e["start_time"]中的值是什么?