3
我對用戶的ActiveAdmin濾鏡菜單,有一羣人,像這樣列出:ActiveAdmin過濾器 - 找到所有有空白字段
filter :id
filter :full_name
filter :age
filter :supervisor, collection: Supervisors.all
我想查詢誰是主管字段設置爲所有用戶零。我怎樣才能做到這一點?
我對用戶的ActiveAdmin濾鏡菜單,有一羣人,像這樣列出:ActiveAdmin過濾器 - 找到所有有空白字段
filter :id
filter :full_name
filter :age
filter :supervisor, collection: Supervisors.all
我想查詢誰是主管字段設置爲所有用戶零。我怎樣才能做到這一點?
filter
本身不允許您搜索的空白,我認爲你必須要解決通過添加ransacker到您的用戶模式:
ransacker :by_supervisor, formatter: proc{ |v|
v=nil if v==0
data = User.where(supervisor: v).ids
data = data.present? ? data : nil
} do |parent|
parent.table[:id]
end
和ActiveAdmin模塊而不是正常的過濾器
在filter :supervisor, collection: [Supervisor.new(id: 0, name: 'None'), Supervisor.all].flatten
這提供了具有ID的主管= 0,以允許搜索 「不監督員」,ID = 0由ransacker變成零
爲什麼濾波器':SUPERVIS如果你想查詢沒有主管的用戶(假設你的主管字段是'supervisor_id') – nayiaw
我希望用戶能夠選擇特定主管,任何主管或不主管。 – GMchris