ActiveAdmin自定义筛选器。订单问题

时间:2016-01-15 08:08:53

标签: ruby-on-rails ruby-on-rails-4 filter activeadmin ruby-on-rails-4.2

我对过滤器有一点问题。

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

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

1 个答案:

答案 0 :(得分:1)

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

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

但是,如果您只需要具有AdminUser的特定组/范围(并非所有组),请创建新范围:

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)