ruby-on-rails - 事件管理员。始终在索引表上方显示顶级过滤器

标签 ruby-on-rails activeadmin

在索引页上,如果使用侧面过滤器的搜索结果不为空,我在索引表上方有具有预定义范围的顶部过滤器,但如果没有任何结果,则此行过滤器消失...

但我在所有情况下都需要它并具有正确的搜索结果计数 top filter

希望问题足够清楚=)

最佳答案

实现此目的的一种方法是对 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 个项目的所有范围,因为没有结果。

关于ruby-on-rails - 事件管理员。始终在索引表上方显示顶级过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679127/

相关文章:

ruby-on-rails - 所以我创建了一个 params 散列,给它赋值,试图提取一个值。

ruby-on-rails - 什么 Ruby HTTP 守护进程为 Heroku Bamboo 应用程序提供支持?

ruby-on-rails - Active Admin Rails 4 有很多

mysql - 我们真的需要在删除表之前删除外键吗?

ruby-on-rails - Rails secrets.yml VS Dotenv VS Figaro with Capistrano on AWS

ruby-on-rails - ActiveAdmin:如何设置 HTTP 基本身份验证?

ruby-on-rails - 如何在 Rails Active Admin 中添加颜色选择器?

ruby-on-rails - 将新管理员添加到事件管理员

ruby-on-rails - 如何获取通过事件管理员登录的当前用户?

ruby-on-rails - Heroku 和 Postgresql 和 Rails - 连接错误太多