Ruby on rails Rails:Datagrid枚举筛选器在多个或复选框选项为true时不工作

Ruby on rails Rails:Datagrid枚举筛选器在多个或复选框选项为true时不工作,ruby-on-rails,datagrid,Ruby On Rails,Datagrid,我有一个表单,它使用Datagrid搜索单个表。过滤器和搜索按预期工作,包括这一个: 过滤器(:位置,:枚举,:选择=>:位置) 然而,当我试图使过滤器显示为复选框时,就像这样… 过滤器(:位置,:枚举,:选择=>:位置,:复选框=>true) …复选框出现,但过滤器不再工作,它返回结果集,就好像我从未选中任何复选框一样。当我尝试使用:multiple选项时,同样的意外行为也会发生。据我所知,我没有看到任何其他要求使过滤器与复选框或多个选择选项一起工作 在查看本地服务器上的请求时,我注意到当:m

我有一个表单,它使用Datagrid搜索单个表。过滤器和搜索按预期工作,包括这一个:
过滤器(:位置,:枚举,:选择=>:位置)

然而,当我试图使过滤器显示为复选框时,就像这样…
过滤器(:位置,:枚举,:选择=>:位置,:复选框=>true)

…复选框出现,但过滤器不再工作,它返回结果集,就好像我从未选中任何复选框一样。当我尝试使用
:multiple
选项时,同样的意外行为也会发生。据我所知,我没有看到任何其他要求使过滤器与复选框或多个选择选项一起工作

在查看本地服务器上的请求时,我注意到当
:multiple
:checkbox
设置为
true
时,
位置
过滤器没有添加到SQL查询中,但值正在查询字符串中传递,就像这样(由FBR和FBZ指示):
http://localhost:3000/searches/index?utf8=✓&搜索网格[名称]=Foo&searches网格[位置][]=FBR&searches网格[位置][]=FBZ&commit=Search\searchAnchor

下面是工作示例(没有倍数和复选框)的样子:
http://localhost:3000/searches/index?utf8=✓&搜索网格[名称]=Foo和搜索网格[位置]=FBR和commit=Search\searchAnchor

我不确定Datagrid是否在呈现以数组形式发送的参数时遇到问题,或者我的Rails/Ruby/etc版本是否存在某种问题,或者发生了什么。如果有人有任何建议或解决办法,我将不胜感激,如果没有,我将尝试向gem提交Gitlab问题


我正在使用Datagrid 1.5.4、Rails 5.0.3和Ruby 2.3.1p112。

经过数小时的代码剖析,我注意到控制器中的
搜索参数
操作的
位置
参数缺少方括号,无法包含多个值:

    params.require(:searches_grid).permit(
    :name,
    ...more params...
    :order,
    :descending,
    location: [] # <-- Had to add brackets here
  )
参数要求(:搜索网格)。允许(
:姓名,
…更多参数。。。
:订单,
:下降,
地点:[]#