第一次单击列的 header 后,ActiveAdmin 如何开始按升序对列进行排序?

How can ActiveAdmin start sorting columns after the first click on columns' header in ascending order?

默认情况下,ActiveAdmin 似乎对索引页面中的所有列(在用户单击 header 的列之后)进行降序排序。

是否可以指定所有列的初始排序方向?

注意:我指的不是 config.sort_order,它仅在用户到达索引页时创建默认顺序。

不幸的是,您想要执行的操作似乎不可配置,因为 desc, the default sort, is hard-coded。但是,如果您想要一个猴子补丁,您可以将代码放在下面的 config/initializers/active_admin.rb 中,它会覆盖默认行为。

module ActiveAdmin
  module Views
    class TableFor < Arbre::HTML::Table    
      def order_for_sort_key(sort_key)
        current_key, current_order = current_sort
        return 'asc' unless current_key == sort_key
        current_order == 'desc' ? 'asc' : 'desc'
      end
    end
  end
end