Comment pouvez-vous combiner 2 des conditions différentes à l'aide de logique OU à la place de ET?
NOTE: 2 conditions sont générés comme des rails étendues et ne peuvent pas être facilement changé en quelque chose qui ressemble where("x or y")
directement.
Exemple Simple:
admins = User.where(:kind => :admin)
authors = User.where(:kind => :author)
Il est facile à appliquer ET l'état (qui, pour ce cas particulier, est vide de sens):
(admins.merge authors).to_sql
#=> select ... from ... where kind = 'admin' AND kind = 'author'
Mais comment pouvez-vous produire la requête suivante avoir 2 différents Arel relations déjà disponible?
#=> select ... from ... where kind = 'admin' OR kind = 'author'
Il semble (selon Arel readme):
L'opérateur OU n'est pas encore pris en charge
Mais j'espère que ça ne s'applique pas ici, et s'attendent à écrire quelque chose comme:
(admins.or authors).to_sql