Пытаюсь выяснить, как сделать запрос через Active Record и при этом сохранить свое достоинство. Конечный результат в sql должен выглядеть так:
... left join works on clients.id = works.client_id and works.performed_on >= '2012-01-21' and works.performed_on <= '2012-01-28'...
Если бы диапазон дат был в предложении WHERE , я мог бы использовать такие условия хеширования:
where(:performed_on => (date1..date2))
Но мне нужен диапазон в предложении ON . Есть идеи получше, чем мучительно писать все это?
На мой взгляд, что-то вроде следующего было бы идеально:
Client.joins('left join works').on('clients.id' => 'works.client_id', 'works.performed_on' => (date1..date2))