necesito una instrucción SQL que comprobar si una condición es satisfecha:Ruby on Rails 3 howto marca 'O' condición
SELECT * FROM my_table WHERE my_table.x=1 OR my_table.y=1
quiero hacer esto el 'Rails 3' manera. Estaba buscando algo como:
Account.where(:id => 1).or.where(:id => 2)
Sé que siempre puedo recurrir a sql o una cadena de condiciones. Sin embargo, en mi experiencia, esto a menudo conduce al caos cuando se combinan ámbitos. ¿Cuál es la mejor manera de hacer esto?
Otra pregunta relacionada es cómo describir la relación que depende de una condición OR. La única forma en que encontré:
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}'
Sin embargo, estas vueltas se rompen cuando se usan en combinaciones. ¿Hay una mejor manera de especificar esto?
del sitio arel github: El operador OR aún no es compatible. Funcionará así: users.where (users [: name] .eq ('bob'). Or (users [: age] .lt (25))) – hjuskewycz