La requête que vous souhaitez créer est :
MyClass.where(
:name.in => [ 'John', 'Luke' ],
:status.in => [ 'ACTIVE', 'SUSPENDED' ]
)
Un :field.in
fonctionne de la même manière que field in (...)
en SQL et c'est juste une forme courte pour une instruction or. Cela rend les choses un peu plus faciles car il vous suffit d'ajouter .in
appels aux criteria
clés dont les valeurs sont des tableaux, quelque chose comme ceci :
query = criteria.each_with_object({}) do |(field, values), query|
field = field.in if(values.is_a?(Array))
query[field] = values
end
MyClass.where(query)