ActiveRecord Arel ИЛИ условие
Как вы можете объединить 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'
Но как вы можете создать следующий запрос с двумя доступными отношениями Arel?
#=> select ... from ... where kind = 'admin' OR kind = 'author'
Это выглядит (согласно Арель Ридме):
Оператор OR еще не поддерживается
Но я надеюсь, что это не применимо здесь и ожидаю написать что-то вроде:
(admins.or authors).to_sql