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 はメタサーチの代わりにランサックを使用しており、最も古いアプローチは機能しません。