Ruby on rails 按和和组合群

Ruby on rails 按和和组合群,ruby-on-rails,ruby-on-rails-3,group-by,sum,Ruby On Rails,Ruby On Rails 3,Group By,Sum,我有一个模型,具有以下属性: user_id,  week_id,  project_id,  hours 1         61         1             20 1         62         1              5 1         61         2             15 1         63         1              0 2 61 1 0 我的视图如

我有一个
模型
,具有以下属性:

user_id,  week_id,  project_id,  hours
1         61         1             20
1         62         1              5
1         61         2             15
1         63         1              0
2         61         1              0
我的
视图
如下所示:

<tr>
61 | 62 | 63  (week_id)
35 | 5  | 0   (Sum of hours per week_id)
</tr>

all_hours = Model.group_by(&:user_id)
@all_hours.each do |user, hours| %>
<tr>
hours.each do | hour |
hour.my_hours
为每个用户提供一个长行,如: 0.0 20.0 0.0 .... 0.0 15.0 0.0 现在我想求20和15的和 在此范围内
0.0 35.0 0 0.0

我想尝试一下rails 3:

Model.select(:week_id).
  select(Model.arel_table[:hours].sum.as("sum_of_hours")).select(:user_id)
  group(:week_id).group(:user_id)
这里使用的库是Rails3,activerecord的一部分


我认为这是可行的。但我自己还没试过。希望这能有所帮助。

我已经尝试过了。谢谢。它汇总了每周的所有小时数。\u id。但我需要显示每个用户每周的小时数。\u id。@Werner如果它对您有帮助并且有效,为什么您不批准答案?!因为我再也不能访问Stackoverflow了。不知什么原因,他们把我踢了出去。不知道为什么我会有这么可笑的计分系统,我不明白。谢谢你的帮助。。
Model.select(:week_id).
  select(Model.arel_table[:hours].sum.as("sum_of_hours")).select(:user_id)
  group(:week_id).group(:user_id)