Вы можете загрузить отфильтрованные связанные объекты только с помощью eager_load
.
Взгляните на этот пример
result = [YourModel].patients.eager_load(:appointments).where("appointments.created_at::date between :start_date and :end_date" ,{start_date: Date.yesterday, end_date: Date.today })
Он будет загружать пациентов, чье назначение создано между вчера и сегодня .Также он будет загружать связанные встречи в указанном диапазоне дат.
Попробуйте сделать
result.first.appointments
Надеюсь, это поможет!