shimgo
6/18/2019 - 3:33 AM

joinされたリレーションでor句メソッドを使う

or条件でつなぐには同じ構成のリレーションでないといけないので、スコープもスコープ同士にすれば使える スコープ

scope :with_association, -> {
  eager_load([
    :foos,
  ...
}
Hoge.with_association.where(
  foos: { activated: true }
).or(
  Hoge.with_association.where(
    foos: { id: nil }
  )
)