Итак, у меня есть модель Event, у которой есть столбец starts_at и ends_at, и я хочу найти события, которые происходят в диапазоне дат.
Я придумал этот named_scope (range обычно месяц):
named_scope :in_range, lambda { |range|
{:conditions => [
'starts_at BETWEEN ? AND ? OR ends_at BETWEEN ? AND ?',
range.first, range.last, range.first, range.last]} }
Работает так, как ожидалось.
Но, если событие начинается за месяц до и, заканчивается месяц после диапазона, который он не будет показывать. Есть ли способ правильно найти эти события?