我对过滤器有一点问题。
#filter :admin_user, :as => :select, :collection => proc{[AdminUser.exec_backoffice,AdminUser.exec_hotline,AdminUser.exec_customer_relations].order('name asc')}
如何修复此过滤器以便它可以命令所有管理员用户?
答案 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)