是否可以向ActiveAdmin添加自定义过滤器以执行其他数据库查找?示例是我链接到屏幕以显示给定位置附近的用户(即admin/users?location_id=1234
)。我想使用geocoder
来允许从该位置过滤一定距离。
我想要像:
filter :location, as: :select, collection: ['10km','20km','30km'],
(selection, scope) -> {
location = Location.find(params[:location_id])
scope.near(location.address, selection)
}
有什么办法吗?
注意:我意识到这可以通过scopes
完成,但我无法组合多个范围(并且希望过滤与其他一些过滤器一起存在)