在Rails中使用ActiveRecords按国家/地区分组

时间:2010-03-12 11:40:58

标签: ruby-on-rails activerecord

我有一个用户表:

name  | country | 
..    | UK      |
..    | US      |
..    | US      |
..    | UK      |
..    | FR      |
..    | FR      |
..    | UK      |
..    | UK      |
..    | DE      |
..    | DE      |
..    | UK      |
..    | CA      |
.
.

ActiveRecord在我的视图和每个国家/地区中获取国家/地区列表的最有效方法是什么,因此:

US 123
UK 54
DE 33
.
.
.

1 个答案:

答案 0 :(得分:4)

执行以下操作:

counts = Users.count(:group => :country)

现在打印计数:

counts.each |country, count| do
 p "#{country} - #{count}"
end

# Prints
US 123
UK 54
DE 33

counts["UK"] #-> prints 123