Verwenden Sie eine Auswahlabfrage
Account.
joins(schedules: :impressions).
select("accounts.name as account_name,
schedules.date as schedule_date,
schedules.summary as schedule_summary,
count(impressions.id) as schedule_impression_count" ).
group("accounts.name,schedules.date,schedules.summary")
Sollte dies in einer einzigen Abfrage geschehen, antworten die Objekte auf den Alias der Spalte wie schedule_date
und schedule_impression_count
Wenn Sie diese Objekte für andere Daten in derselben Ansicht verwenden müssen, dann Account.eager_load(schedules: :impressions)
sollte auch funktionieren und wird auch eine einzelne Abfrage ausführen.