herokuにスケジュールアプリを載せるべく、時刻を表示しようとしたら
なぞのエラーになってしまった。
heroku logs -t
してみたら
ActionView::Template::Error (undefined method 'strftime' for nil:NilClass):
だそうな。
要素がnilなものに対してstrftimeはつかえないってことらしい。
というわけで該当箇所を以下のように書き換えた。
# 変更前 <%= post.time.strftime('%H:%M') %>
# 変更後 <%= if post.time.present? post.time.strftime('%H:%M') else nil end %>
nil?
とかempty?
でもできるけど正常系の処理を先に書きたいからとりあえずpresent?
にしといた。
そもそもカラムをNULL許容にしなければいいんだけど、任意項目だからしゃーなし。
もっとスマートなやり方があるとおもうけどまあ素人なのでこれでいいかな。