Prøv dette:
User.select('users.*,MAX(donations.created_at) as most_recent_donation').
joins(:donations).order('most_recent_donation desc').group('users.id')
Jeg formoder, at en bruger har mange donationer, dette vil vælge den senest oprettede donation og vil vælge forskellige brugere, der filtrerer efter deres id.
Jeg har dog ikke testet dette.