サイドフィルターを使用した検索の結果が空でない場合、インデックスページで、インデックステーブルの上に定義済みのスコープを持つトップフィルターがありますが、結果がない場合、このフィルターの行は消えます...
しかし、検索結果の正しい数ですべての場合に必要です
質問が十分に明確であることを願っています=)
サイドフィルターを使用した検索の結果が空でない場合、インデックスページで、インデックステーブルの上に定義済みのスコープを持つトップフィルターがありますが、結果がない場合、このフィルターの行は消えます...
しかし、検索結果の正しい数ですべての場合に必要です
質問が十分に明確であることを願っています=)
これを行う 1 つの方法は、Scopes ビルダー クラスにモンキー パッチを適用することです。これは、Rails プロジェクトに初期化ファイルを追加することで簡単に実行できます。
config/initializers/activeadmin_scope_patch.rb
module ActiveAdmin
module Views
class Scopes < ActiveAdmin::Component
def build(scopes, options = {})
scopes.each do |scope|
build_scope(scope, options) if call_method_or_proc_on(self, scope.display_if_block)
end
end
end
end
end
これが機能するのは、デフォルトのレンダラーが結果セットが空であるかどうかをチェックし、そうである場合はプロセスを短絡するためです。そのチェックを削除すると、結果がないため、レンダラーはアイテムが 0 のすべてのスコープを表示します。