在索引页面上,如果使用侧过滤器的搜索结果不为空,我在索引表上方有具有预定义范围的顶级过滤器,但如果没有任何结果,这行过滤器将消失...
但我在所有情况下都需要它,并且搜索结果的数量正确
希望问题足够清楚=)
在索引页面上,如果使用侧过滤器的搜索结果不为空,我在索引表上方有具有预定义范围的顶级过滤器,但如果没有任何结果,这行过滤器将消失...
但我在所有情况下都需要它,并且搜索结果的数量正确
希望问题足够清楚=)
一种方法是修改 Scopes 构建器类。你可以通过在 Rails 项目中添加一个初始化文件来轻松做到这一点:
配置/初始化程序/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 个项目的范围,因为没有结果。