我試圖評估Ruport在我的Rails應用程序中的使用情況,但不知道如何使用日期/時間戳來記錄一系列記錄並通過Ruport的分組函數對它們進行分組。如何使用Ruport/Ruby on Rails按日進行分組?
如果Ruport沒有意義,我願意接受其他/更好的方法來做同樣的分組。
我試圖評估Ruport在我的Rails應用程序中的使用情況,但不知道如何使用日期/時間戳來記錄一系列記錄並通過Ruport的分組函數對它們進行分組。如何使用Ruport/Ruby on Rails按日進行分組?
如果Ruport沒有意義,我願意接受其他/更好的方法來做同樣的分組。
沒有ruport:
<% @posts.group_by {|p| p.created_at.at_beginning_of_day }.each do |day, posts| %>
<h2><%= day.strftime("something...") %></h2>
<% posts.each do |post| %>
do stuff with `post`.
<% end %>
<% end %>
使用at_beginning_of_month
,at_beginning_of_week
等等,這取決於你想用什麼組。
這幫了我很多時間。謝謝!我希望我能多勞多得。 – 2010-10-07 02:17:34
我會建議將@ posts.group_by函數移動到控制器而不是視圖。
Ruport包含一種將新列添加到表的方法。
@table.add_column('created_at_date') { |r| r.created_at.to_date }
created_at_date_grouping = Grouping(@table, :by => "created_at_date")
這種方法可以,當然,也可以用來產生像谷歌Analytics(分析)更有趣的報道:
@table.add_column('day_of_week') { |r| r.created_at.strftime('%a') }
@table.add_column('hour_of_day') { |r| r.created_at.strftime('%H') }
不要因此從時間戳源日期明智的分組可以這樣做盡管如此,我們仍然知道表現
你決定爲此沒有歸宿嗎?我希望能夠這樣做與ruport – Angela 2010-06-16 00:55:12
我選擇不使用Ruport。 – 2010-06-16 03:35:35