Только для дальнейшего использования, добавление :all
дает устаревшее сообщение. В более поздних версиях рельсов вы можете просто связать методы следующим образом:
User.joins("LEFT JOIN `user_points` ON user_points.user_id = users.id").select("users.*, count(user_points.id)").group("user_points.user_id")
ИЛИ используйте область действия , например:
scope :my_scope_name_here, -> {
joins("LEFT JOIN `user_points` ON user_points.user_id = users.id")
.select("users.*, count(user_points.id)")
.group("user_points.user_id")
}
Вы также можете связать .where
между .join
и .select
.
Надеюсь, это поможет кому-то в будущем.