Кто-нибудь знает, как это сделать в Ruby on Rails?
Ответ 1
Rails обычно использует Time, а не DateTime. Почему бы вам не сделать Time.now - self.created_at? Затем вы можете конвертировать от секунд до часа, разделив их на 3600.
Ответ 2
Получил!. Сначала вы должны убедиться, что ваши данные в одних и тех же данных будут вычтены из того, будет ли это время или дата. Я выбрал время. Затем вы разделите его на Ruby, построенный во времени методами. Это означает, сколько дней, но это также может быть, 1.hour. и др.
(Time.now - self.created_at.to_time)/1.day
Ответ 3
Вы ищете функцию time_ago_in_words (from_time, include_seconds = false). Вот несколько примеров из документов:
time_ago_in_words(3.minutes.from_now) # => 3 minutes
time_ago_in_words(Time.now - 15.hours) # => 15 hours
time_ago_in_words(Time.now) # => less than a minute
from_time = Time.now - 3.days - 14.minutes - 25.seconds # => 3 days