Сравнение строки с ActiveSupport :: Duration не удалось для time_ago_in_words
-
22-07-2019 - |
Вопрос
Я получаю эту ошибку, когда пытаюсь использовать time_ago_in_words
:
Comparison of String with ActiveSupport::Duration failed
Я пытаюсь проверить, был ли объект создан более 8 минут назад:
<% if time_ago_in_words(obj.created_at) > 8.minutes %>
<p>Yes</p>
<% end %>
Буду признателен, если кто-нибудь знает, как правильно выполнить этот тест.
Решение
time_ago_in_words
возвращает фразу, предназначенную для использования в вашем пользовательском интерфейсе. Если вы сравниваете даты друг с другом, вы захотите сделать это до того, как они будут переведены в удобную для пользователя строку.
Также обратите внимание, что я использовал minutes.ago
для сравнения яблок с яблоками.
<% if obj.created_at > 8.minutes.ago %>
Within the last 8 minutes
<% else %>
Longer than 8 minutes ago
<% end %>
Не связан с StackOverflow