从整个活动管理员过滤器访问数据 collection
Accessing data from an entire AcitveAdmin filtered collection
试图解决这个问题,但运气不佳。现在,我正在使用 ActiveAdmin 并且我试图在我的仪表板页面顶部显示我当前 collection 中售出的图书总数。只是一点背景;我的数据库条目是订单,它有很多列,其中之一是 number_books。我发现我可以为分页排序 collection 的第一页计算 number_books,并且我找到了一种方法来为数据库中的每个 Order 实例计算 ALL number_books,什么我无法做的是计算整个当前筛选的 collection,因为使用以下结果仅来自分页 collection.
第一页的总和
"Total Books on page: #{collection.pluck(:number_books).reduce(:+)}"
有谁知道访问整个过滤 collection 的方法吗?我为其工作的人不想滚动浏览每一页并手动计算每一页的书籍数量,如果他们不需要的话,因为可能有 20、30 或 40 页的记录有在当前 collection 中按他们试图对订单进行排序的任何内容进行排序。
感谢任何帮助!
下面的代码解决了我的问题。
Order.ransack(params[:q]).result.map{|order| order.number_books}.reduce(:+)
尝试:
"Total Books on page: #{controller.send(:find_collection, except: :pagination).sum(&:number_books)}"
试图解决这个问题,但运气不佳。现在,我正在使用 ActiveAdmin 并且我试图在我的仪表板页面顶部显示我当前 collection 中售出的图书总数。只是一点背景;我的数据库条目是订单,它有很多列,其中之一是 number_books。我发现我可以为分页排序 collection 的第一页计算 number_books,并且我找到了一种方法来为数据库中的每个 Order 实例计算 ALL number_books,什么我无法做的是计算整个当前筛选的 collection,因为使用以下结果仅来自分页 collection.
第一页的总和"Total Books on page: #{collection.pluck(:number_books).reduce(:+)}"
有谁知道访问整个过滤 collection 的方法吗?我为其工作的人不想滚动浏览每一页并手动计算每一页的书籍数量,如果他们不需要的话,因为可能有 20、30 或 40 页的记录有在当前 collection 中按他们试图对订单进行排序的任何内容进行排序。
感谢任何帮助!
下面的代码解决了我的问题。
Order.ransack(params[:q]).result.map{|order| order.number_books}.reduce(:+)
尝试:
"Total Books on page: #{controller.send(:find_collection, except: :pagination).sum(&:number_books)}"