如何隔离/检索/计数导轨中返回记录的子集
-
01-10-2019 - |
题
我正在为Rails应用程序编写报告仪表板。该仪表板适用于用户数据,目前正在运行多个计数一个选择查询,以在页面上构建四个或五个报告。我敢肯定,有一种更有效的方法可以做到这一点。我将如何构建控制器方法,以便它仅运行一个查询,然后解析/细分单个报告所需的子集?
例如,用户具有性别,年龄和收入范围。而不是做
@men = User.count(:conditions => ['gender = ?', 'm']
@women = User.count(:conditions => ['gender = ?', 'f']
@age = User.count(:conditions => ['age_range = ?', 1]
etc.
我可以做一个
User.find(:all, :select => 'id,gender,age_range,income_range')
然后解析我需要什么?
任何帮助都将受到赞赏。
谢谢你。
解决方案
我相信你可以做到这一点
@users = User.all
@men = @users.select{|u| u.gender == 'm'}.size
@women = @users.select{|u| u.gender == 'f'}.size
@age = @users.select{|u| u.age_range == 1}.size
不隶属于 StackOverflow