有人可以发布正确的语法,在数据网格中设置filter()
以使用多个值,包括column()
设置吗?
我的用例是我想按距离某个原点进行过滤。我能够通过原点进行过滤,但我必须在远处进行硬编码。我希望能够将“纽约,纽约”和“25”传递给过滤器,以便在距离纽约州纽约25英里的范围内提供所有结果。
您不必显示如何成功获取传递到代码块的两个变量的实际逻辑。
谢谢!
答案 0 :(得分:0)
这有效
filter(:user_location, :string, :header => "Location", :multiple=>true) do |value|
origin = value[0]
distance = value[1]
end
以这种方式设置过滤器时,会生成表单字段,[]
会自动填充它。为了传递多个值,您似乎需要在括号内输入它们,用逗号分隔。即["New York, NY", "25"]
。这真的需要更好地解决。提交表单时,会执行过滤,但随后会使用["[\"New York, NY\", \"25\"]"]
填充该字段。
答案 1 :(得分:0)
我会建议略有不同的东西。无需将两个内容连接成一个:
filter(:user_location, :string, header: 'Location') do |value, model, grid|
origin = value
distance = grid.radius
...
end
filter(:radium, :enum, select: [5,10,15,20,25], dummy: true)
# can be integer instead of enum