ActiveAdmin 过滤器按输入排除结果

ActiveAdmin filter exclude results by input

我有 ActiveAdmin 的过滤器来按用户的电子邮件过滤结果,return结果只针对特定用户:

  filter :user, :collection => proc { User.all.map { |i| [ i.to_s, i.id ] } }

现在我想添加选项以从结果中排除特定用户。

我该怎么做?

谢谢。

我通过在相关模型中添加搜索方法和范围解决了它:

  search_methods :user_exclude_eq
  scope :user_exclude_eq,  lambda {|user| where('user_id != ?', user)}

以及控制器:

  filter :user_exclude, :as => :select, :collection => proc { User.all.map { |i| [ i.to_s, i.id ] } }