Wenn ich das richtig verstehe, fügen Sie jedes Mal, wenn Sie den Status eines Servers aktualisieren, einen neuen Datensatz mit einem Zeitstempel und Status hinzu? Wenn das richtig ist, müssen Sie GROUP BY server_id
machen und ORDER BY date DESC
.
Das kann in SQL ausgedrückt werden als
SELECT * FROM servers GROUP BY server_id ORDER BY date DESC;
oder in ActiveRecord von Rails als
Server.all.group(:server_id).order(:created_at => :desc)
(Als Nebenbemerkung würde ich empfehlen, dieses Modell so zu nennen wie ServerStatus
statt nur Server
- es stellt den Status dar, nicht den Server selbst.)