Сравнение строки с ActiveSupport::Duration не удалось для time_ago_in_words

Я получаю эту ошибку, когда пытаюсь использовать 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 %>

Буду признателен, если кто-нибудь знает, как правильно выполнить этот тест.


person Bryan Locke    schedule 30.10.2009    source источник


Ответы (1)


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 %>
person Baldu    schedule 30.10.2009