Arel语法(此AND此)OR(此AND此)

pix*_*rth 4 ruby-on-rails arel

我将如何在Arel中执行此操作(此AND此)或(此AND此)

上下文是rails 3.0.7

Phi*_*p C 7

迈克的回答基本上就是你要找的

class Model < ActiveRecord::Base
  def self.this_or_that(a1, a2, a3, a4)
    t = Model.arel_table
    q1 = t[:a].eq(a1).and(t[:b].eq(a2))
    q2 = t[:c].eq(a3).and(t[:d].eq(a4))
    where(q1.or(q2))
  end
end
Run Code Online (Sandbox Code Playgroud)

我在Arel上放了一些幻灯片