【问题标题】:ActiveAdmin custom filter . Order IssueActiveAdmin 自定义过滤器。订单问题
【发布时间】:2016-01-15 08:08:52
【问题描述】:
我有一个关于过滤器的小问题。
#filter :admin_user, :as => :select, :collection => proc{[AdminUser.exec_backoffice,AdminUser.exec_hotline,AdminUser.exec_customer_relations].order('name asc')}
如何修复此过滤器,以便它可以订购所有管理员用户?
【问题讨论】:
标签:
ruby-on-rails
ruby-on-rails-4
filter
activeadmin
ruby-on-rails-4.2
【解决方案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)