从整个AcitveAdmin过滤的集合中访问数据

问题描述

试图解决此问题,但运气不佳。现在,我正在使用ActiveAdmin和Im尝试在我的仪表板页面的顶部显示当前收藏集中售出的图书总数。只是一点点背景;我的数据库条目是“订单”,其中包含许多列,其中之一是number_books。我发现可以对分页排序后的集合的第一页中的number_books进行计数,并且我找到了一种对数据库中Order的每个实例进行所有number_books计数的方法,但我无法进行统计整个当前过滤的集合,如使用以下结果,将仅得出分页集合第一页的总和。

"Total Books on page: #{collection.pluck(:number_books).reduce(:+)}"

有人知道访问整个过滤集合的方法吗?我为此工作的人不需要浏览每一页并在不需要的情况下手动计算每一页中的书籍数量,因为可能有20、30或40页的记录他们正在尝试对订单进行排序的方式在当前集合中进行了排序。

感谢您的帮助!

解决方法

以下代码解决了我的问题。

Order.ransack(params[:q]).result.map{|order| order.number_books}.reduce(:+)
,

尝试:

finds

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...