有人可以发布正确的语法来设置filter()
数据网格以处理多个值,包括column()
设置?
我的用例是我想按与某个原点的距离进行过滤。我可以按原点进行过滤,但我必须在远处进行硬编码。我希望能够将“New York, NY”和“25”传递给过滤器,以便为我提供纽约州纽约市 25 英里范围内的所有结果。
您不必展示如何成功地将两个变量传递到代码块中的实际逻辑。
谢谢!
有人可以发布正确的语法来设置filter()
数据网格以处理多个值,包括column()
设置?
我的用例是我想按与某个原点的距离进行过滤。我可以按原点进行过滤,但我必须在远处进行硬编码。我希望能够将“New York, NY”和“25”传递给过滤器,以便为我提供纽约州纽约市 25 英里范围内的所有结果。
您不必展示如何成功地将两个变量传递到代码块中的实际逻辑。
谢谢!
这有效
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\"]"]
.
我会建议稍微不同的东西。无需将两件事合并为一:
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