Concatenate (glue) where conditions с помощью OR или AND (Arel, Rails3)

У меня есть несколько сложных запросов (с использованием подзапросов и т. д.), и я хочу склеить их вместе с помощью оператора OR или AND .

Например:

where1=table.where(...)
where2=table.where(...)

Я бы хотел что-то вроде

where3=where1.or where2

Следующий пример у меня не работает:

users.where(users[:name].eq('bob').or(users[:age].lt(25)))

потому что у меня есть несколько запросов where (..), и я хочу объединить их .

Другими словами

У меня есть 3 метода: первый возвращает первое, где, второй-второй, третий - объединение ИЛИ.

Я должен иметь возможность использовать все 3 метода в своем приложении и сохранить DRY код

5
задан Pavel Manylov 6 November 2010 в 07:24
поделиться