0

ActiveAdmin でカスケード フィルターを作成しようとしていますが、その方法がよくわかりません。

私は、連続する belongs_to/has_many 関係を持つ 3 つのモデルを持っています。たとえば、A には多くの B があり、B には多くの C があります。

次のような 3 つのフィルターを作成できますが、それらは機能しますが、A の選択に基づいて B のコレクションを制限したいと考えています。

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

ActiveAdminでこれを達成する方法はありますか?

事前に助けてくれてありがとう!

4

1 に答える 1

0

JavaScriptを使用して、このようなことを達成できます。

  • の変更イベントを聞くb_a_name
  • b_a_nameで選択してエンドポイントに ajax リクエストを行います
  • b_name成功のコールバックで対応するオプションの JSON 配列を返します
  • b_nameselect options forを options in arrayに置き換えます
于 2013-10-28T20:33:44.450 に答える