Итак, у меня есть модель 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]} }
Работает так, как ожидалось.
Но, если событие начинается за месяц до и, заканчивается месяц после диапазона, который он не будет показывать. Есть ли способ правильно найти эти события?