2

我有一個關於過濾器的小問題。ActiveAdmin自定義過濾器。訂單號

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

我該如何解決這個過濾器,以便它可以訂購所有管理員用戶?

回答

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)