我使用strftime将原始时间格式化为输入框的文本。通常,当我使用strftime时,我检查对象是否为nil以防止错误,除非使用nil?但是,似乎我不能在这里使用它:
<%= text_field_tag :event_date, @event.event_date.strftime("%m/%d/%Y at %I:%M%p"), :size=>30 %>
我删除了除非因为它引发了错误。如果@ event.event_date为nil,我如何确保此语句有效?
由于
答案 0 :(得分:41)
一个技巧是使用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 %>