Den forespørgsel, du vil bygge, er:
MyClass.where(
:name.in => [ 'John', 'Luke' ],
:status.in => [ 'ACTIVE', 'SUSPENDED' ]
)
En :field.in
virker på samme måde som field in (...)
i SQL, og det er kun en kort form for en eller-sætning. Det gør tingene en del nemmere, da du bare skal tilføje .in
opkald til criteria
nøgler, hvis værdier er arrays, noget som dette:
query = criteria.each_with_object({}) do |(field, values), query|
field = field.in if(values.is_a?(Array))
query[field] = values
end
MyClass.where(query)