From 8e668603fcdfb7fbc2b36647f66d0bc7ce484741 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Mon, 6 Aug 2018 18:41:05 +0200 Subject: [PATCH] Fixed sort order of packages and screenshots Packages are sorted by most visits Screenshots are sorted by newness --- app/controllers/packages_controller.rb | 2 +- app/models/package.rb | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index 6239bab..e399606 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -275,7 +275,7 @@ class PackagesController < ApplicationController # Return packages matching the criteria given by parameters def query_packages - packages = Package.includes(:screenshots).order(created_at: :desc) + packages = Package.includes(:screenshots).order(visits: :desc) # text search if params[:search].present? diff --git a/app/models/package.rb b/app/models/package.rb index ed846df..6a2c1ba 100644 --- a/app/models/package.rb +++ b/app/models/package.rb @@ -20,7 +20,10 @@ class Package < ApplicationRecord # I am using "destroy_all" here so that when a package gets destroys the # callbacks for all dependent screenshots are executed - thus removing the # screenshot files from disk. - has_many :screenshots, :inverse_of=>:package, :dependent => :destroy + has_many :screenshots, + -> { order(id: :desc) }, + :inverse_of=>:package, + :dependent => :destroy # default_scope { # order('name ASC')