# in model
scope :between, ->(from, to) {
where(starts_at: (Event.format_date(from)..Event.format_date(to)))
}
# in controller
@events = Event.all
if params['start'] && params['end']
@events = @events.between(params['start'], params['end'])
end
...
Please note the BETWEEN
syntax in Mysql has a slightly different meaning than your original query. Your query was <
, BETWEEN
uses <=
.