Как вы можете объединить 2 разных условия, используя логическое ИЛИ вместо И?
ПРИМЕЧАНИЕ. 2 условия генерируются как области действия рельсов и не могут быть легко изменены напрямую на что-то вроде where("x or y")
.
Простой пример:
admins = User.where(:kind => :admin)
authors = User.where(:kind => :author)
Легко применить условие AND (которое в данном конкретном случае бессмысленно):
(admins.merge authors).to_sql
#=> select ... from ... where kind = 'admin' AND kind = 'author'
Но как вы можете создать следующий запрос, имея уже 2 разных отношения Arel?
#=> select ... from ... where kind = 'admin' OR kind = 'author'
Кажется (согласно ридми Arel):
Оператор OR пока не поддерживается
Но я надеюсь, что это не применимо здесь, и ожидаю написать что-то вроде:
(admins.or authors).to_sql