Самый простой способ - добавить параметры запроса в конечную точку, допускающие разные ключи сортировки:
/users/2/comments?sort_key=name
/users/2/comments?sort_key=age
Затем установите это в вашем контроллере:
@people = @results.records.where(active: true).order("#{params['sort+key']} DESC NULLS LAST").paginate(page: params[:page], per_page: 25)
Тогда у вас есть весь набор из 100 комментариев, отсортированных по ключу.
То, чего вы хотите достичь, 2 стратегии сортировки - это действительно запутанно с точки зрения реализации и UX. либо получить все и реализовать нумерацию страниц в JavaScript, либо оставить серверную часть нумерации страниц. Обе стратегии совершенно разные, в одной вы получаете все результаты (JavaScript), тогда как в другой вы разбиваете на страницы, то есть каждая перезагрузка страницы требует запуска запроса, попадающего в базу данных.
Обратите внимание, что вы все еще можете применять различные сортировки, используя JQuery в текущем наборе (в данном случае 25 результатов, которые вы получите).