Ruby on Rails字段平均值?

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查询.