ActiveAdmin 自定义资源检索 - 在应该是名称时按 ID 搜索
ActiveAdmin custom resource retrieval - searching by ID when it should be Name
每个人都有一个类别。我想创建一个过滤器,我可以在其中 select 一个类别并查看该类别中的所有人员。目前,当我 select 一个类别时,它正在搜索该类别的 ID #,而它应该搜索名称。这是 URL
http://localhost:3000/admin/people?utf8=%E2%9C%93&q%5Bcategory_id_in%5D%5B%5D=1&commit=过滤器&order=id_desc
但是应该是http://localhost:3000/admin/people?utf8=%E2%9C%93&q%5Bcategory_id_in%5D%5B%5D=[这里是分类名]&commit=Filter&order=id_desc
在admin/person.rb
filter :category_id, as: :select, collection: proc { Category.all.map }
这是一个related answer,我尝试在这里申请但没有成功。非常感谢任何帮助,谢谢
如果您不想通过 category
属性过滤 Person
对象,请执行以下操作:
filter :category, as: :select, collection: -> { Person.pluck(:category).uniq }
Person.pluck(:category).uniq
将 return uniq 类别列表供选择。
如果 #pluck
不起作用,请使用:Person.all.map(&:category).uniq
每个人都有一个类别。我想创建一个过滤器,我可以在其中 select 一个类别并查看该类别中的所有人员。目前,当我 select 一个类别时,它正在搜索该类别的 ID #,而它应该搜索名称。这是 URL http://localhost:3000/admin/people?utf8=%E2%9C%93&q%5Bcategory_id_in%5D%5B%5D=1&commit=过滤器&order=id_desc
但是应该是http://localhost:3000/admin/people?utf8=%E2%9C%93&q%5Bcategory_id_in%5D%5B%5D=[这里是分类名]&commit=Filter&order=id_desc
在admin/person.rb
filter :category_id, as: :select, collection: proc { Category.all.map }
这是一个related answer,我尝试在这里申请但没有成功。非常感谢任何帮助,谢谢
如果您不想通过 category
属性过滤 Person
对象,请执行以下操作:
filter :category, as: :select, collection: -> { Person.pluck(:category).uniq }
Person.pluck(:category).uniq
将 return uniq 类别列表供选择。
如果 #pluck
不起作用,请使用:Person.all.map(&:category).uniq