[英]Ruby on Rails: ActiveAdmin scope using Array showing wrong records counting
我是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(即我用於分頁的頁面大小),而不是數組中的記錄總數。 如果我轉到頁面的頁腳,則“下一步”按鈕將顯示正確的記錄量。
因此,我的問題是,如何使“作用域”部分顯示陣列上的記錄數量而不是每頁記錄數量。
從某種程度上來說,我嘗試遵循此處的一些建議,但對我來說並不是很有效。 這就是為什么我使用Kaminari能夠對數組進行分頁。
感謝您的指導。
您不一定要在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
這將相應地處理記錄計數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.