Rails4 ActiveRecordでorを使用する
whereでORを使用したので、メモ。
Userにclass1_id、class2_id、class3_idがあり、そこにはClassのidを登録するものとする。
class1_id、class2_id、class3_idのどれかが1であるユーザーを探したい。
class1 = User.where(:class1_id => 1) class2 = User.where(:class2_id => 1) class3 = User.where(:class3_id => 1) class1 = class1.where_values.reduce(:and) class2 = class2.where_values.reduce(:and) class3 = class3.where_values.reduce(:and) @users = User.where(class1.or(class2).or(class3))