Se ho capito bene, stai aggiungendo un nuovo record con un timestamp e uno stato ogni volta che aggiorni lo stato di un server? Se è corretto, dovrai GROUP BY server_id
e ORDER BY date DESC
.
Questo può essere espresso in SQL come
SELECT * FROM servers GROUP BY server_id ORDER BY date DESC;
o in ActiveRecord di Rails come
Server.all.group(:server_id).order(:created_at => :desc)
(Come nota a margine, consiglierei di chiamare questo modello qualcosa come ServerStatus
piuttosto che solo Server
- rappresenta lo stato, non il server stesso.)