活动管理员的自定义过滤器以在索引页面上提取多行

卢卡斯

我有一个工作代码,如果满足条件,它会过滤掉一行

  ransacker :custome_search, formatter: proc { |v|
    user = Util.new(param: v.strip).user. # gets the data from an external service
    id = user.present? ? user.id : nil
    id = id.presence
  } do |parent|
    parent.table[:id]
  end

和我的索引页中的过滤器

  filter :custome_search, label: 'Custom Data Search:', filters: ['equals']

这个工作正常,但现在我必须改变它以适应多个元组,所以我将代码更改为

  ransacker :custome_search, formatter: proc { |v|
    users = Util.new(param: v.strip).find_users
    ids = users.present? ? users.pluck(:id)  : nil # now returns an array instead of just one id  [1,2,3]
    ids = ids.presence
  } do |parent|
    parent.table[:id]
  end

上面的代码显示零结果,因为内部形成的查询结果是

SELECT COUNT(*) FROM (SELECT  1 AS one FROM "users" WHERE "users"."id" = NULL LIMIT $1 OFFSET $2) subquery_for_count /*controller:users,action:index*/  [["LIMIT", 30], ["OFFSET", 0]]

但如果我做一个

ids=ids.first

同样将显示一行,如何更改我的代码以在索引页面上显示多行我正在使用活动管理 2.0.0

卢卡斯

好吧,搜查代码很好,我只需要更改索引页面上的过滤器,其中任何一个都可以工作

  filter :custome_search, label: 'Custom Data Search:', filters: ['in']

或者

  filter :custome_search_in, label: 'Custom Data Search:', as: :string

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

活动管理员自定义过滤器仅特定属性

Django管理员添加自定义过滤器

Sonata管理员,过滤器中的自定义查询

如何在活动管理员中设置过滤器前的索引操作?

活动管理员过滤器和范围

在Woocommerce管理员优惠券编辑页面上显示自定义数据

如何在活动管理员索引视图中以自定义格式显示地址

在Django自定义模型管理员添加页面上处理自定义提交按钮的正确方法

如何在自定义帖子类型管理员屏幕编辑页面上显示自定义数据?

将自定义订单状态添加到WooCommerce管理员订单列表中的过滤器菜单

搜索过滤器可在搜索页面上显示自定义帖子类型的结果

防止DataTables自定义过滤器影响页面上的所有表

我无法在自定义的tumblr页面上使用过滤器

在WooCommerce管理员订单页面上将产品自定义字段显示为订单项元

使Woocommerce(3.8.0)管理员电子邮件中包含我在结帐页面上的自定义字段数据

根据权限管理Django管理员过滤器

反应管理员:无法读取未定义的属性“过滤器”

Django过滤器多选择列表在管理员

管理员访问权限过滤器

Django管理员过滤器多项选择

Rails:每个页面上的活动管理员加载用户

具有索引操作的自定义活动管理页面

Django管理员显示过滤器,具体取决于其他过滤器

FOSElasticaBundle / 自定义过滤器

自定义查询过滤器

自定义过滤器排序

如何在活动管理员中自定义操作方法助手

在活动管理员中自定义Solr筛选器的分页

如何在活动管理员中为自定义成员操作添加视图?