私が正しく理解していれば、サーバーのステータスを更新するたびに、タイムスタンプとステータスを含む新しいレコードを追加していますか?それが正しければ、GROUP BY server_id
を実行する必要があります およびORDER BY date DESC
。
これはSQLで次のように表すことができます
SELECT * FROM servers GROUP BY server_id ORDER BY date DESC;
またはRailsのActiveRecordで
Server.all.group(:server_id).order(:created_at => :desc)
(補足として、このモデルをServerStatus
のように呼び出すことをお勧めします Server
だけでなく -サーバー自体ではなく、ステータスを表します。)