Ruby on rails 4 ActiveRecord。按数组中包含其值的属性查找所有记录

Ruby on rails 4 ActiveRecord。按数组中包含其值的属性查找所有记录,ruby-on-rails-4,activerecord,Ruby On Rails 4,Activerecord,我需要在我的User模型上创建一个作用域,该作用域将获取其电子邮件属性包含在AdminUser模型的电子邮件中的所有用户 基本上,在User模型中有一个名为email的属性,在AdminUser模型中有相同的属性。所以,我需要得到所有的用户,实际上是管理员(通过电子邮件) 我没有成功地将其实现为单查询,而是从获取AdminUser电子邮件数组开始: emails = AdminUser.pluck(:email) 现在我正在努力从User模型中获取管理员用户数组 如果我这样写: User.fi

我需要在我的
User
模型上创建一个作用域,该作用域将获取其电子邮件属性包含在
AdminUser
模型的电子邮件中的所有用户

基本上,在
User
模型中有一个名为
email
的属性,在
AdminUser
模型中有相同的属性。所以,我需要得到所有的用户,实际上是管理员(通过电子邮件)

我没有成功地将其实现为单查询,而是从获取
AdminUser
电子邮件数组开始:

emails = AdminUser.pluck(:email)
现在我正在努力从
User
模型中获取管理员用户数组

如果我这样写:

User.find_by_email(emails)
我只得到一个实体,而不是数组


所以,我的问题是:

如何在
用户
模型上创建一个作用域,例如
管理员
,以返回管理员数组


顺便说一句:出于其他目的,我在我的
用户中有这个方法:

  def admin?
    AdminUser.find_by(email: email) ? true : false
  end

所以,也许我可以在这种情况下利用它?

finder方法总是返回一条记录。您可以使用
where

User.where(email: emails)

如果将数组传递给where子句中属性的值,它将执行所需的操作

@user = User.where(email: AdminUser.pluck(:email))

真正地这么简单?所以Cooool没有想到这一点。好的:)