Den*_*nko 5 activerecord ruby-on-rails-4
我需要在我的User模型上创建一个范围,以便将所有用户的电子邮件属性包含在AdminUser模型的电子邮件中.
基本上,模型中有一个属性email,User模型中有相同的属性AdminUser.所以,我需要获得所有实际管理员的用户(通过电子邮件).
我没有成功实现这个作为一个签名查询,并开始获取AdminUser电子邮件数组:
emails = AdminUser.pluck(:email)
Run Code Online (Sandbox Code Playgroud)
现在我正在努力从User模型中获取管理员用户数组.
如果我写这样的东西:
User.find_by_email(emails)
Run Code Online (Sandbox Code Playgroud)
我只得到一个实体,而不是数组.
所以,我的问题:
我怎样才能admins在User将返回管理员数组的模型上创建一个范围?
BTW:出于其他目的,我在我的方法中使用了这种方法User:
def admin?
AdminUser.find_by(email: email) ? true : false
end
Run Code Online (Sandbox Code Playgroud)
所以,也许我可以在这种情况下以某种方式利用它?
Ste*_*zyn 18
如果将数组传递给where子句中属性的值,它将执行您想要的操作.
@user = User.where(email: AdminUser.pluck(:email))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8611 次 |
| 最近记录: |