2016-07-20 3 views
1

私はRails 4で作業していて、SQLite DBから引き出された日時をフォーマットしようとしています。私はモデルで作業していますが、オブジェクトクラスは非常に奇妙な動作をしています。Rails 4でDateTimeがnilとして表示される

私が入力した場合: Duration <%= micropost.duration %>

を、それは完全な日時を表示します。私は時間が欲しいだけです。

私が入力した場合: Duration <%= micropost.duration.strftime("%H:%M:%S") %>

を、私はエラーを取得する:nilのための undefined methodのstrftime」:NilClass`

だから私は入力してみてください: Duration <%= micropost.duration.class %>

をし、それが種類を返します。 ActiveSupport::TimeWithZone

時々タイプを認識しているように見えることがあります。問題を複雑にするために、IRBではstrftime("%H:%M:%S")メソッドが機能します。

How to format time and date from db:datetime record in Rails 4でも同様の問題が発生しましたが、その解決策は機能しませんでした。私は正しい場所を探していますか?

+0

マイクロポストはループ内にありましたか? – power

答えて

1

私はあなたがループ内でそれを試していると思いますし、マイクロポストの持続時間はどれもゼロではないと思います。お試しください

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

それが問題でした。どういうわけか、私の種のデータがタイムズの権利を設定していない。ありがとう! – MikeK

関連する問題