Als ik het goed begrijp, voegt u elke keer dat u de status van een server bijwerkt een nieuw record met een tijdstempel en status toe? Als dat correct is, moet u GROUP BY server_id
en ORDER BY date DESC
.
Dat kan in SQL worden uitgedrukt als
SELECT * FROM servers GROUP BY server_id ORDER BY date DESC;
of in Rails' ActiveRecord als
Server.all.group(:server_id).order(:created_at => :desc)
(Als een kanttekening raad ik aan om dit model iets als ServerStatus
te noemen in plaats van alleen Server
- het vertegenwoordigt de status, niet de server zelf.)