如何编写一个计算字段实例的 Rails 查找器方法?

How do I write a Rails finder method that counts instances of a field?

我正在使用 Rails 5. 我有一个模型

class User < ApplicationRecord
    ...
    has_many :emails

如何编写查找器方法来定位所有拥有多个电子邮件的用户?我似乎无法弄清楚如何在 where 子句中使用 "count"。

这将加入电子邮件 table 和 return 计数超过 1 的用户。

scope :with_more_than_one_email, -> {
  joins(:emails).having('COUNT(emails) > 1').group(:id)
}

您可以使用 User.with_more_than_one_email

调用它