20

strftime を使用して、生の時間を入力ボックスのテキストとしてフォーマットします。通常、strftime を使用するときは、オブジェクトが nil かどうかを確認して、unless nil? を使用してエラーを防ぎます。ただし、ここでは使用できないようです。

<%= text_field_tag :event_date, @event.event_date.strftime("%m/%d/%Y at %I:%M%p"), :size=>30 %>

エラーが発生したため、unless を削除しました。@event.event_date が nil の場合、このステートメントが機能することを確認するにはどうすればよいですか?

ありがとう

4

1 に答える 1

43

1 つのトリックは、 を使用することtryです。

<%= text_field_tag :event_date, @event.event_date.try(:strftime, "%m/%d/%Y at %I:%M%p"), :size=>30 %>

または、event_date設定されているかどうかを確認します。

<%= text_field_tag :event_date, (@event.event_date && @event.event_date.strftime("%m/%d/%Y at %I:%M%p")), :size=>30 %>
于 2011-10-09T21:33:38.277 に答える