Rails5 になって ActiveRecord に or クエリが導入されました。早速、既存のコードを書き換えようとしたんですが、かなり慎重に使わないと結合順序のワナに嵌ってバグりそうで怖いです。 このような(間の抜けた)コードがあったとします。 Country. where(id: 1). where("id = ? OR id = ?", 1, 2). pluck(:id) 生成される SQL はこうで、 SELECT "countries"."id" FROM "countries" WHERE "countries"."id" = $1 AND (id = 1 OR id = 2) [["id", 1]] 実行結果はこう。 [ [0] 1 ] これを、or クエリを用いて素直に書き換えてみます。 Country. where(id: 1). where(id: 1).or(Cou