ActiveAdmin 自定义过滤器。订单问题

ActiveAdmin custom filter . Order Issue

我有一个关于过滤器的小问题。

 #filter :admin_user, :as => :select, :collection => proc{[AdminUser.exec_backoffice,AdminUser.exec_hotline,AdminUser.exec_customer_relations].order('name asc')}

我如何修复此过滤器以便它可以订购所有管理员用户?

将不同的组(范围)放入一个数组然后对其进行排序没有意义 - 只需对 AdminUser:

进行操作
filter :admin_user,
  as: :select,
  collection: -> AdminUser.order('name asc').pluck(:name)

不过,如果您只需要 AdminUser 中的特定 groups/scopes(不是全部),请创建一个新范围:

scope :for_filtering, -> { 
  exec_backoffice
    .merge(exec_hotline)
    .merge(exec_customer_relations)
}

然后使用它:

filter :admin_user,
  as: :select,
  collection: -> AdminUser.for_filtering.order('name asc').pluck(:name)