From 1384756b81c719f899359efc9125e80fae8614c0 Mon Sep 17 00:00:00 2001 From: erdgeist Date: Sat, 1 Aug 2026 14:46:04 +0200 Subject: Allow aggregate to order by slug and paint chapters list more nicely --- app/models/page.rb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'app/models') diff --git a/app/models/page.rb b/app/models/page.rb index a66527da..8313b1d4 100644 --- a/app/models/page.rb +++ b/app/models/page.rb @@ -92,6 +92,11 @@ class Page < ApplicationRecord .paginate(:page => page, :per_page => options[:limit]) end + if options[:order_by] == "slug" + return scope.order(Arel.sql("MIN(LOWER(nodes.slug)) #{direction}")) + .paginate(:page => page, :per_page => options[:limit]) + end + column = options[:order_by].to_s.sub(/\Apages\./, "") column = "id" unless %w[id published_at created_at updated_at].include?(column) -- cgit v1.3