【发布时间】:2016-06-29 05:12:23
【问题描述】:
我有以下两种型号:
class Student < ActiveRecord::Base
has_many :marks
end
class Mark < ActiveRecord::Base
belongs_to :student
end
point 是标记表中的一个字段。对于每个学生,成绩表中有许多条目。
我需要根据总分最高的顺序获取学生列表。
我尝试如下:
@students = Student.all.collect{|p| [p,p.marks.pluck(:point).sum]}
@students.sort_by { |h| h[1] }.reverse!
但它会在每个数组中返回 2 个项目,一个是对象,接下来是总分。
请问有没有更好的解决办法。
谢谢,
吉西
【问题讨论】:
标签: ruby postgresql ruby-on-rails-4 activerecord