У меня есть следующий код представления, который отображает события вместе с заголовками, информирующими пользователя, произошли ли следующие события сегодня, вчера или на прошлой неделе.
Все это прекрасно работает, но я бы предпочел реорганизовать его вне поля зрения, я не могу поместить его в помощник, потому что он должен поддерживать состояние переменных между циклами итераций. Любая идея, как привести в порядок это? спасибо
<% displayed_week_already = false %>
<% displayed_yesterday_already = false %>
<% displayed_today_already = false %>
<% @events.each do |event| %>
<%= event.title &>
<% if (Time.now - 1.week) > event.created_at && !displayed_week_already %>
<% displayed_week_already = true %>
Events in past week
<% elsif (Time.now - 1.day) > event.created_at && (Time.now - 2.day) < event.created_at && !displayed_yesterday_already %>
<% displayed_yesterday_already = true %>
Events yesterday
<% elsif (Time.now - 1.day) < event.created_at && !displayed_today_already %>
<% displayed_today_already = true %>
Events in past day
<% end %>
<% end %>
Ожидаемый результат будет:
События прошедшего дня
Джон создал новое произведение искусства
Дэн прокомментировал статью 1
Сью удалена статья 2
События вчерашнего дня
Сью создала новую статью
События прошедшей недели
Кэрол получила повышение
Дэн написал новую статью