我正在创建一个包含表中某些列的时间线。 目前,时间线只显示" created_at"领域。 但是我想像这样每天切片:
TODAY
content -|
|
|- content
|
content -|
|
YESTERDAY
|
|- content
|
content -|
目前我正在使用此代码
<ul>
<% @timeline.each do |timeline| %>
<li>
<%= timeline.title %>
</li>
<% end %>
</ul>
我想做&#34; each_slice(5)&#34;功能。 希望有人能告诉我怎么做。 提前谢谢。
答案 0 :(得分:2)
您可以使用ruby group_by
@timeline.group_by { |el| el.created_at.to_date.to_s(:db) }
注意:我假设@timeline已经排序。
可能这个方法可以重复使用,所以最好将它放在以下模型中:
def self.to_grouped_by_day
group_by { |el| el.created_at.to_date.to_s(:db) }
end
然后在控制器中调用它。