每个人都有一个类别。我想创建一个过滤器,我可以在其中选择一个类别并查看该类别中的所有人员。目前,当我选择一个类别时,它应该在搜索名称时搜索该类别的ID#。这是URL http://localhost:3000/admin/people?utf8=%E2%9C%93&q%5Bcategory_id_in%5D%5B%5D=的 1 &安培;提交=过滤与秩序= id_desc
但它应该是http://localhost:3000/admin/people?utf8=%E2%9C%93&q%5Bcategory_id_in%5D%5B%5D= [此处的类别名称] & commit =过滤器& order = id_desc
在admin / person.rb
中filter :category_id, as: :select, collection: proc { Category.all.map }
这里有一个related answer我试图在这里申请失败,但是没有成功。非常感谢任何帮助,谢谢
答案 0 :(得分:1)
如果您不想按Person
属性过滤category
个对象,请执行以下操作:
filter :category, as: :select, collection: -> { Person.pluck(:category).uniq }
Person.pluck(:category).uniq
将返回uniq类别列表以供选择。
如果#pluck
不起作用,请使用:Person.all.map(&:category).uniq