每天切片ROR

时间:2014-11-10 21:59:21

标签: ruby-on-rails ruby

我正在创建一个包含表中某些列的时间线。 目前,时间线只显示" 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;功能。 希望有人能告诉我怎么做。 提前谢谢。

1 个答案:

答案 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

然后在控制器中调用它。