Así que quiere todas las visitas de los usuarios con la hora de la última visita.
En lugar de usar DISTINCT
función, puede usar GROUP
con MAX
función.
La consulta parece
Events.group(:user_id).maximum(:time)
Esto genera los resultados deseados
{21=>Tue, 18 Dec 2018 11:15:24 UTC +00:00, 23=>Thu, 20 Dec 2018 06:42:10 UTC +00:00}
Espero que esto funcione para ti.
FYIDISTINCT ON(columnas). es la sintaxis de PostgreSQL.