2011-08-27 62 views
1

我有2個存儲過程,返回的數據與限制和偏移量和所有記錄的計數。 如何在這種情況下使用Kaminari進行分頁?Rails Kaminari分頁和存儲過程

UPD 我在邊緣版本kaminari有問題!我有從ActiveRecord擴展的抽象類MyRecord,其他模型擴展了這個抽象類。

class Customer < MyRecord 
has_one :active_order, :class_name => 'Order', 
:conditions => { 
:status_type => [Order::STATUS_TYPES[:active],Order::STATUS_TYPES[:paused]] 
} 

.......

控制器

@customers = Customer.search(params[:search]).includes(:active_order).order(sort_column + ' ' + sort_direction).page(params[:page]).per(25) 

我得到現在錯了查詢(抽象類的表名,而不是模型表名)

SELECT `my_records`.* FROM `my_records` WHERE 
     (`my_records`.customer_id IN (160,161,162,163,164,165,166,167,168,169,170) 
    AND (`my_records`.`status_type` IN (0, 2))) 
+0

您是否已經看了GitHub上的文檔? –

+0

yeap我用ActiveRecord,也knw它可以與數組一起工作,但在我的情況下,我沒有完整的數組只有一部分 – Fivell

回答

4

剛在Kaminari :: PaginatableArray上添加了一項新功能,可以解決您的問題。 https://github.com/amatsuda/kaminari/pull/141

你可以捆綁雷的邊緣版本:

gem 'kaminari', :git => 'git://github.com/amatsuda/kaminari' 

,並通過:total_count選項PaginatableArray#new這樣嗎?

Kaminari::PaginatableArray.new(array, :total_count => 1326).page(5) 

Kaminari::PaginatableArray.new(array, :total_count => 9999, :limit => 10, :offset => 30) 
+0

感謝您的迴應我會嘗試!投我一票! – Fivell

+0

我有邊緣版本kaminari的問題! – Fivell

+0

AR將AR擴展爲混音,一切正常,但無論如何它都有錯誤=) – Fivell