我想访问每个与role
具有相同current_user
的用户。
通常,我会做类似User.where(role: current_user.role)
的事情,但是为了保持一切整洁,我有一个称为Account
的嵌套模型,其中除了标准设计数据(例如电子邮件)外,我基本上存储了所有东西。
我想要实现的是类似User.account.where(role: current_user.account.role)
这样的东西,但不幸的是它没有起作用。我也读过.joins
的书,但是我真的不知道该怎么做。无论如何,我试图做类似User.joins(:account).where(role: 1)
的事情而没有成功。我也尝试了大括号并进行了很多搜索,但是由于我不是母语人士,所以我真的不知道该搜索什么。
User.rb
has_one :account
Account.rb
belongs_to :user
答案 0 :(得分:0)
这应该可以完成工作:
User.joins(:account).where('accounts.role': current_user.account.role)
答案 1 :(得分:0)
那
Account.where(role: current_user.account.role).includes(:user).map(&:user)