Aangezien de fout for SELECT DISTINCT, ORDER BY expressions must appear in select list .Daarom moet u expliciet de clausule selecteren waarvoor u bestelt.
Hier is een voorbeeld, het lijkt op jouw geval, maar generaliseer een beetje.
Article.select('articles.*, RANDOM()')
.joins(:users)
.where(:column => 'whatever')
.order('Random()')
.uniq
.limit(15)
Vermeld dus expliciet uw ORDER BY clausule (in dit geval RANDOM() ) met behulp van .select() . Zoals hierboven weergegeven, moet u deze expliciet ook selecteren om ervoor te zorgen dat uw zoekopdracht de artikelkenmerken retourneert.
Ik hoop dat dit helpt; veel succes