2012-05-10 36 views
0

我有與顯示時間奇數錯誤在Rails的未定義的方法「的strftime」的零:NilClass當值不爲零

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

顯示一個完整的時間戳記字符串。 「2010-09-02 18:00:00 -0500」

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

顯示我提供的參數(0或1)的預期錯誤。再次,預計。

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

顯示錯誤「Undefined method'strftime'for nil:NilClass」。

所以我的e [「start_time」]字段填充,但我不明白爲什麼指定參數strftime()要結果爲零值。

+0

問題已解決。某些活動未從Google日曆API返回時間信息。消毒你的信息,孩子們! – samsmith

+0

也可以嘗試不要調用可能返回'nil'的方法,因爲這會導致這樣的不幸事件。將它包裝在一個可以更優雅地處理這些情況的輔助方法中是一個好主意。 – tadman

回答

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"]價值?

+0

2010-09-02 18:00:00 -0500 – samsmith

+1

'Time.zone.parse(「2010-09-02 18:00:00 -0500」)。strftime(「%Y」) =>「2010」 ' – Adnan

相關問題