Ruby on rails 轨道3和x2B;ActiveAdmin-筛选父模型索引中的多个关联

Ruby on rails 轨道3和x2B;ActiveAdmin-筛选父模型索引中的多个关联,ruby-on-rails,ruby,activerecord,scope,activeadmin,Ruby On Rails,Ruby,Activerecord,Scope,Activeadmin,我有两种型号: class Worker has_many :location_preferences end class LocationPreference attr_accessible :location belongs_to :worker end 在ActiveAdmin Worker索引中,我希望能够通过使用选定的:location(或者,理想情况下,通过多个位置首选项查找工作人员的复选框)的位置首选项筛选工作人员 在其他情况下,我可以对子索引进行过滤,如下所示:

我有两种型号:

class Worker
  has_many :location_preferences
end

class LocationPreference
  attr_accessible :location
  belongs_to :worker
end
在ActiveAdmin Worker索引中,我希望能够通过使用选定的
:location
(或者,理想情况下,通过多个位置首选项查找工作人员的复选框)的位置首选项筛选工作人员

在其他情况下,我可以对子索引进行过滤,如下所示:

ActiveAdmin.register Account

filter :user_last_name
…查找具有提供的
姓氏的用户拥有的帐户
。但是我没有太多的运气通过子类的属性过滤父类。我可以制作一个作用域按钮,但是我已经为这个AA资源准备了一堆作用域按钮,我不想拥挤它。另外,似乎应该有办法做到这一点,而不必为每个可想象的过滤器选项编写范围


提前感谢您的帮助

添加一个
有许多:位置,通过::位置\u首选项
将允许将位置过滤器添加到
工作者

class Worker
  has_many :location_preferences

  # Add has many through relation
  has_many :locations, through: :location_preferences
end
然后可以使用位置过滤器定义ActiveAdmin资源

ActiveAdmin.register Worker do
  filter :locations, as: :check_boxes
end