如何在 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 使用 ransack 而不是元搜索,并且最旧的方法不起作用。