ActiveAdmin使用参数和作用域自定义筛选器

ActiveAdmin使用参数和作用域自定义筛选器,activeadmin,Activeadmin,是否可以向ActiveAdmin添加一个自定义过滤器,以进行额外的数据库查找?例如,我正在链接到一个屏幕以显示给定位置附近的用户(即admin/users?location_id=1234)。我想使用geocoder来允许过滤距离位置一定的距离 我想要一些像: filter :location, as: :select, collection: ['10km','20km','30km'], (selection, scope) -> { location = Locatio

是否可以向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)
  }
有办法吗

注意:我意识到这可以通过
作用域来实现,但我不能组合多个作用域(并且希望筛选与许多其他筛选器同时存在)