Выражение вида
.joins(:user => :profile).order_site_rating
дает дубликаты, как и почему пока не разобрался, если подскажите тоже буду рад.
Проблема в следующем
PG конфликтует если мы просто добавим distinct
joins(:user => :profile).order_site_rating.distinct
Просит добавить выражение от туда в select и все бы ничего если бы
SELECT DISTINCT(users.id), users.*, profiles.first_name FROM users LEFT JOIN profiles ON users.id = profiles.user_id ORDER BY profiles.first_name
Но к сожалению выборка очень сложная.
order('case when profiles.avatar is null then -1 else 1 end desc')
Как мне такое добавить в select или как поправить связи, чтобы не было дубликатов при выборке?