我是Ruby on Rails的新手,我几天都在努力解决这个问题。
我有一个ActiveAdmin页面,它从不同的Db中提取信息。
我创建了几个范围部分来处理不同的类别。 ActiveAdmin的代码看起来与此类似:
ActiveAdmin.register MyItem do
scope :all
scope :first_db do |myitem|
myitem.where(deleted: false)
end
scope :FromDBs, show_count=>true do |myitem|
Kaminari.paginate_array(MyItem.get_from_dbs).page(params[:page])
end
index do
column :name
column :value
end
现在,我遇到的问题是范围" FromDBs"。它在顶部显示为记录计数 记录的数量为25(这是我的分页页面大小)而不是总金额 数组中的记录。如果我进入页面的页脚,"下一步"按钮显示正确的记录数量。
所以,我的问题是,如何制作"范围"部分显示 数组上的记录数量,而不是每页的记录数量。
在某种程度上,我试图遵循here的一些推荐,但不是真的 为我工作。这就是为什么我使用Kaminari能够对数组进行分页。
感谢任何指针。
答案 0 :(得分:2)
您不必在ActiveAdmin资源块中定义范围,而是希望在模型类中使用范围定义。我有类似的设置如下:
class Manager < ActiveRecord::Base
scope :active, -> { where deleted_at: nil }
scope :inactive, -> { where.not deleted_at: nil }
...
end
ActiveAdmin.register Manager do
scope :active, default: true
scope :inactive
end
相应地处理记录计数。