Использование strftime на объекте nil - как предотвратить ошибку?
Я использую 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?
Спасибо
Ответы
Ответ 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 %>