2012-07-27 18 views
2

我正在使用一個自定義模型,我僞裝成基於表的ActiveRecord對象。它是由SQL視圖支持的。幕後有一些詭計。Kaminari在哪裏計算它的頁面鏈接?

問題是與Kaminari的分頁鏈接無法正常工作。他們正在顯示正確的頁碼和頁面鏈接的數量,只是錯誤的路線。

我需要知道在Kaminari源中的哪個位置,它會計算出它已設置爲分頁的對象的路徑。或者如果有人熟悉將用於計算該值的活動記錄方法名稱。

我一直在搜索源代碼,我無法弄清楚。

UPDATE
我的實際問題是由我的路線文件引起的。我有這個條目 -

match 'dashboard' => 'users#start', :as => 'user_root' 

我的鏈接,而不是指/用戶/起始頁= X,他們吹罰到/用戶/儀表板頁面= X?。我仍然處於相同的控制器操作,但我查看了需要來自/ users/start的分頁鏈接的頁面,因此我認爲它會使用該鏈接而不是此匹配規則。刪除了匹配規則,我全部設置了!

回答

3

以上Kaminari::ActionViewExtension#paginate的評論說,它接受的選擇哈希:params鍵,這樣你就可以用它來重寫URL參數:

paginate @bloops, params: {controller: "foos", action: "index"} 

默認情況下,它假定我們分頁「當前」頁面,這是通常的情況。

Kaminari::Helpers::Tag#initialize

@params = @options[:params] ? template.params.merge(@options.delete :params) : template.params 
+0

我試圖找出如何做到這一點的語法。我試圖直接傳遞鏈接,但這是不可能的。該問題實際上在我的路線文件中撒謊。請參閱上面的修改。 – barancw 2012-07-27 20:15:48

+0

看起來像匹配規則集「params [:action]」值到「儀表板」。這有點令人驚訝。 – Dmitry 2012-07-28 00:12:52