这行得通!但是如果我的 JSON 返回 200 个程序,这也将打印所有这 200 个程序。但是我想以一种方式更改辅助方法,使其只返回他们的ercentage最高的TOP 5。
如何修改我的辅助方法来实现这一点?
P.S:我知道这样做的最好和专业的方法可能是在模型文件或实际创建 JSON 的 ActiveRecord 查询接口(interface)中使用“范围”和“顺序”等...但这是目前的情况离我远点!想通过婴儿步骤完成这件事......以后......
最佳答案
尝试以下操作
def patient_counts(program)
sorted = program.patient_counts.sort { |a, b| b.money <=> a.money }
sorted[0..4]
end
更新:限制为仅从数据库中获取 5 条记录
def patient_counts(program)
program.registry_patient_counts.limit(5).order('patient_count_percentage DESC')
end
关于ruby-on-rails - 在循环中查找数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15182128/