1

ActiveAdmin でカスタム フィルタリングを実装するにはどうすればよいですか? ActiveRecord 条件に基づく必要があります。

たとえば、製品とカテゴリの 2 つのモデルがあります。

class Product < ActiveRecord::Base
   belongs_to :category
   scope :in_category, ->(category_id) { where(category_id: Category.find(category_id).descendants.pluck(:id)) }
end

class Category < ActiveRecord::Base
   has_many :products
   acts_as_nested_set
end

ActiveAdmin.register Product do
  filter :category
end

カテゴリは階層的です。

フィルターにカテゴリを入力すると、そのカテゴリのすべての製品とその子孫カテゴリ (製品モデルの in_category スコープ) が表示されます。

現在、ActiveAdmin はメタサーチの代わりにランサックを使用しており、最も古いアプローチは機能しません。

4

2 に答える 2

0

ActiveAdmin のインデックス ページにカスタム列を作成し、Ransack に基づいてカスタム フィルターを追加する方法については、次の記事を参照してください。

http://codeonhill.com/activeadmin-custom-column-and-its-filter/

于 2015-05-08T11:01:45.033 に答える