在ActiveAdmin上级联自定义筛选器

时间:2013-10-28 16:45:18

标签: ruby-on-rails activeadmin

我正在尝试在ActiveAdmin上创建一个级联过滤器,我不太清楚如何去做。

我有三个具有连续belongs_to / has_many关系的模型,例如A有很多B,而B有许多C&。

我可以创建三个过滤器,如下所示,它们可以工作,但我想要做的是根据A中的选择来限制B集合。

  filter :b_a_name, :as => :select, :collection => A.map(&:name)
  filter :b_name, :as => :select, :collection => B.map(&:name)
  filter :year

无论如何在ActiveAdmin上完成此操作?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用javascript完成类似的操作,即

  • 收听b_a_name
  • 上的更改事件
  • 使用<{1}}中的选项
  • 向端点发出ajax请求
  • 在成功回调
  • 中返回b_a_name的相应选项的JSON数组
  • 使用数组
  • 中的选项替换b_name的选择选项