I know that I can do a query for recent books based on an array as in
scope :recent_books, lambda {|since_dt| {:conditions=>{:created_at >= since_dt}}}
but how can I do a similar query when I have an array of items, e.g. what if I want to know if there any records that match the dates in an array of [date1, date2, date3, etc.]
I think there must be a collect/inject/select/map y method that’ll do it but I am not sure which from reading them.
If you pass an array as the value, ActiveRecord is smart enough to compare for inclusion in the array. For example,
produces a SQL query with a
WHEREclause similar to:You can take advantage of this in a
scopethe same way you would set normal conditions:Then you can pass a single ID or an array of IDs to
by_authorand it will just work: