Ruby on rails 3 何处条件以及轨道中操作的组_

Ruby on rails 3 何处条件以及轨道中操作的组_,ruby-on-rails-3,Ruby On Rails 3,我是rails新手,所以请任何人告诉我如何使用控制器页面中的group_by选项,以及group_by,我想通过城市模型中的Where条件来计算名称,并添加一个范围 scope:by_name,lambda{| name | where(name:name)} 当您调用scope时,请在scope上计数 City.by_name('London')。count 将执行以下MySql 从cities中选择count(*),其中citiesname=“伦敦” City.group_by(&:

我是rails新手,所以请任何人告诉我如何使用控制器页面中的group_by选项,以及group_by,我想通过城市模型中的Where条件来计算名称,并添加一个范围

scope:by_name,lambda{| name | where(name:name)}

当您调用scope时,请在scope上计数

City.by_name('London')。count

将执行以下MySql

cities
中选择count(*),其中
cities
name
=“伦敦”

City.group_by(&:name)
上面的语句将为您提供哈希数组,其中键将是city_name,值将是city记录数组

然后,如果您只需要对所有城市的每个城市记录数组进行计数,则可以通过创建一个新变量并使用以下命令存储记录计数及其名称来完成此操作:

city_count = {}
City.group_by(&:name).each do |city_name, city_records|
    city_count[city_name] = city_records.count
end

上面的代码将返回散列数组,其中键为city\u name,记录数为value。

表名cities我想按特定城市名称对城市进行分组,并计算方式?city.group\u by(&:name)。计算我问过的这一个,我有一个疑问,charles这个(&:)
(&:name)
与调用
每个都一样{| x | x.name}