Ruby on rails Rails由或分隔的多个连接

Ruby on rails Rails由或分隔的多个连接,ruby-on-rails,Ruby On Rails,我需要一个查询,该查询将选择具有匹配条件的分配(组或仅分配)的所有用户。这在SQL中很容易做到,但结果将是一个数组。我需要结果是ActiveRecord::Relation,这样我就可以对结果应用更多的作用域 通常情况下,它会这样-“选择*从用户加入分配(assignments.user\u id=users.id),其中assignments.id>5或加入组分配(group\u assignments.user\u id=users.id),其中group\u assignments.id>

我需要一个查询,该查询将选择具有匹配条件的分配(组或仅分配)的所有用户。这在SQL中很容易做到,但结果将是一个数组。我需要结果是ActiveRecord::Relation,这样我就可以对结果应用更多的作用域

通常情况下,它会这样-
“选择*从用户加入分配(assignments.user\u id=users.id),其中assignments.id>5或加入组分配(group\u assignments.user\u id=users.id),其中group\u assignments.id>5”

但我真的不知道,如何使用“连接”或“包含”来完成它——“两个任务”下的范围实际上不起作用,我不知道为什么

class User < ActiveRecord::Base
  has_many :assignments
  has_many :group_assignments

  scope :both_assignments, lambda {
   joins(:assignments).where(condition..)
     .or(joins(:group_assignments).where(condition...)
    }
end

class Assignment < ActiveRecord::Base
  belongs_to :user
end

class GroupAssignment < ActiveRecord::Base
  belongs_to :user
end
class用户
我认为SQL中的OR运算符不是最有效的方法。您是否可以对此进行两个单独的查询?一个用于分配,一个用于组分配?