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