В качестве ошибки указано for SELECT DISTINCT, ORDER BY expressions must appear in select list
.
Поэтому вы должны явно выбрать предложение, по которому вы заказываете.
Вот пример, он похож на ваш случай, но немного обобщен.
Article.select('articles.*, RANDOM()')
.joins(:users)
.where(:column => 'whatever')
.order('Random()')
.uniq
.limit(15)
Итак, явно включите ваше предложение ORDER BY
(в данном случае RANDOM()
), используя .select()
. Как показано выше, для того, чтобы ваш запрос возвращал атрибуты Article, вы также должны явно выбрать их.
Надеюсь, это поможет; удачи