Operador OR na cláusula WHERE com Arel no Rails 4.2

O código a seguir construiu um válidowhere cláusula com umOR operador no Rails 4.1

MyModel.where(
  MyModel.where(attribute1: 1, attribute2: 2).where_values.reduce(:or)
)

O que é aproximadamente equivalente ao SQL

select * from my_models where (attribute1 = 1 OR attribute2 = 2)

No Rails 4.2, o mesmo código gera uma consulta SQL com valores ausentes para os parâmetros de ligação

select * from my_models where attribute1 =  OR attribute2 =  

... e gera um erro devido aos valores ausentes para os valores associados.

Qual é o código equivalente emRails 4.2 gerar uma consulta válida com um operador OU?

Editar:

A solução requer umaArel::Nodes::Node objeto derivado a ser usado para que ele próprio possa ser combinado com outras condições via agrupamentos AND e OR.

rel = MyModel.where(attribute1: 1, attribute2: 2)
conditions = [rel.where_values.reduce(:or).to_sql, *rel.bind_values.map(&:last)]

MyModel.where(conditions)

oconditions var deve ser um derivado deArel::Nodes::Node. A solução acima funciona para consultas simples, mas para consultas mais complicadas,conditions deve ser um Nó Arel para ser passado para um método de consulta final.

questionAnswers(3)

yourAnswerToTheQuestion