Dav*_*vid 6 ruby collections average ruby-on-rails
有没有简单的方法来获取集合中属性的平均值?
例如,每个用户都有一个分数.
给定一组用户(@users),您如何获得该组的平均分数?
有没有像@ users.average(:score)这样的东西?我想我在数据库领域遇到过这样的事情,但是我需要它来为一个集合工作......
Rya*_*roi 13
对于你的问题,人们实际上可以这样做:
@users.collect(&:score).sum.to_f/@users.length if @users.length > 0
Run Code Online (Sandbox Code Playgroud)
我之前想过,@ users.collect(&:score).average会有效.对于数据库字段,User.average(:score)将起作用.您还可以添加:条件,如其他activerecord查询.