0
, пожалуйста, помогите решить проблему. столов:Как изменить порядок сортировки коллекции?
users:
id: integer
name: varchar
posts:
id: integer
title: varchar
user_id: integer
views: integer
модель:
User:
class User < ActiveRecord::Base
has_many :posts, dependent: :destroy
end
Posts:
class Post < ActiveRecord::Base
belongs_to :user
end
контроллер:
def popular_diary
@diaries = User.joins(:posts).group(:user_id).order('SUM(posts.views)')
end
результирующее @diaries содержит пользователь коллекции, отсортированные по количеству просмотров. в порядке возрастания (ASC). но мне нужно получить коллекцию пользователей, отсортированную в порядке убывания (DESC).
Я пытался сделать так:
@diaries = User.joins(:posts).group(:user_id).order('SUM(posts.views) :DESC')
, но я получил сообщение об ошибке:
SQLite3::SQLException: near ":DESC": syntax error: SELECT "users".* FROM "users" INNER JOIN "posts" ON "posts"."user_id" = "users"."id" GROUP BY user_id ORDER BY SUM(posts.views) :DESC
Shoudn't ': DESC' быть просто' DESC'? – Pavan