इसे आजमाएं:
User.select('users.*,MAX(donations.created_at) as most_recent_donation').
joins(:donations).order('most_recent_donation desc').group('users.id')
मुझे लगता है कि एक उपयोगकर्ता के पास कई दान हैं, यह सबसे हाल ही में बनाए गए दान का चयन करेगा और उनकी आईडी के आधार पर अलग-अलग उपयोगकर्ताओं को फ़िल्टर करेगा।
हालांकि मैंने इसका परीक्षण नहीं किया है।