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

StackOverflow https://stackoverflow.com/questions/1647791

Вопрос

Я получаю эту ошибку, когда пытаюсь использовать 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 %>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top