rails子目录的活动记录组

时间:2016-01-15 22:29:44

标签: ruby-on-rails activerecord group-by

class Goal
  has_many :tasks
end

class Task
  belongs_to :goal
end

对于每个目标,我希望按任务属性大小分组所有任务。然后在视图中,我可以显示一个表格,显示每个尺寸的任务数量。

Goal A
 size  count
  sm    5
  med   3
  lg    4
  xl    2

Goal B
 size  count
  sm    10
  med   7
  lg    8
  xl    0

最初我只有一个包含任务的表,并且能够实现我想要的目标

Task.group(:size).count.sort_by { |size, _| size }

现在我已经添加了一个父类,目标,是否有一种方法可以使用活动查询记录来获取每个目标的所有任务,并按任务大小分组任务?

1 个答案:

答案 0 :(得分:0)

如果目标有很多任务,那么你可以做 goal.tasks.group(:size).count.sort_by { |size, _| size }目标可能是goal = Goal.find_by(id: 1)