簡體   English   中英

Ruby on Rails:使用Array的ActiveAdmin范圍顯示錯誤的記錄計數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM