总结参考模型轨道中所有值的方法

时间:2017-06-20 10:10:57

标签: ruby-on-rails ruby ruby-on-rails-4

我有两种模式:

Group and Task(名称:string,point:integer,state:string(to_do,in_progress,done),group_id:integer)

组has_many:tasks和Task belongs_to Group。

我想写一个方法,总结所有具有状态的任务:为每个组完成。

我试着写下来:

class Group < ActiveRecord::Base
 has_many :users
 has_many :tasks
 accepts_nested_attributes_for :users, allow_destroy: true
 has_one :grade


 def amount_of_points
  amount = Object.tasks.point.where(state:"done")
  amount

 end
end

但它不起作用。如何处理?

1 个答案:

答案 0 :(得分:1)

如果您打算基于每个组的point的所有任务的总和 如果您想获取的总和对于每个组的所有任务,,然后你可以

Task.includes(:group).where("state = ?", 'done').sum(:point)