Мне нужен оператор SQL, который проверяет, выполнено ли одно условие:
SELECT * FROM my_table WHERE my_table.x=1 OR my_table.y=1
Я хочу сделать это "Rails 3". Я искал что-то вроде:
Account.where(:id => 1).or.where(:id => 2)
Я знаю, что всегда могу вернуться к sql или строке условий. Однако, по моему опыту, это часто приводит к хаосу при объединении областей. Каков наилучший способ сделать это?
Другой связанный с этим вопрос заключается в том, как описать связь, которая зависит от условия ИЛИ. Единственный способ, которым я нашел:
has_many :my_thing, :class_name => "MyTable", :finder_sql => 'SELECT my_tables.* ' + 'FROM my_tables ' +
'WHERE my_tables.payer_id = #{id} OR my_tables.payee_id = #{id}'
Однако они снова ломаются при использовании в комбинациях. Есть ли лучший способ указать это?