Условное отображение времени - PullRequest
0 голосов
/ 30 мая 2009

В разделе почтового ящика моего приложения на Rails я просто отображаю метки времени каждого сообщения следующим образом:

<%= message.created_at.utc %>

Но я хочу изменить его так, чтобы, если дата сообщения отличалась от сегодняшней, тогда отображалась дата, в противном случае просто отображалось время (например, Gmail).

1 Ответ

1 голос
/ 30 мая 2009

Попробуйте поместить что-то вроде этого в помощник:

def time_or_date(date)
  date.today? ? date.strftime('%H:%M') : date.strftime('%d/%m')
end

Затем вы можете назвать это с вашей точки зрения так:

<%= time_or_date(message.created_at.utc) %>

Вы можете изменить strftime , чтобы оно соответствовало вашим потребностям: http://www.ruby -doc.org / ядро ​​/ классы / Time.html # M000297

...