Por lo tanto, tengo un modelo Event
que tiene una columna y una columna ends_at
y quiero encontrar eventos que tienen lugar en un rango de fechas.Búsqueda de registros que se superponen con un rango en Rails
se me ha ocurrido con este named_scope
(range
es normalmente un mes):
named_scope :in_range, lambda { |range|
{:conditions => [
'starts_at BETWEEN ? AND ? OR ends_at BETWEEN ? AND ?',
range.first, range.last, range.first, range.last]} }
que funciona como se esperaba.
Pero si un evento se inicia el mes anterior y termina el mes pasado, el rango no se mostrará. ¿Hay alguna forma de encontrar esos eventos de manera adecuada?
¡Eso es genial! Buen diagrama también :) – mikker