2011-12-04 52 views
0

我有一個用戶模型和圖像模型,並has_many關係。 我在圖像表中有18條記錄。現在的事情是:爲什麼這個分頁計數器總是顯示總記錄數?

@images = @user.images.paginate(:page => params[:page],:per_page=> 12) 
p @images.count //output is always 18 

的張數爲18,總

第一頁是18則第二頁再次18.爲什麼會這樣呢?第一頁應該是12,然後是第二頁6。

PS:它只顯示12和6條記錄,但計數器不正確。我只想獲取該頁面上的記錄數量。基本上最後一頁(考慮命令由DESC)櫃檯我從1-12變化,我對該櫃檯感興趣。

+0

我懷疑你可能對'belongs_to的定義的'counter_cache':user'被緩存此計數。沒有確切的想法,但。 –

回答

1

長度返回什麼?計數將達到分貝,

logger.debug @images.length 

試試這個呢?我認爲這將更好地工作與PAGINATE

@images = Image.where(:user_id => @user_id).paginate(:page => params[:page],:per_page=> 12) 
+0

酷..工作..我現在得到的東西...得知與will_paginate插件代碼的區別.. –

+0

Btwn計數不會擊中數據庫的原因Image.count將擊中分貝。請證實。 –

+0

嘗試它在軌道控制檯,我95%肯定它會擊中數據庫的軌道控制檯User.last.images.count =>選擇計數(*)從「圖像」在哪裏「圖像」。「」u​​ser_id「= xxxx' – house9

相關問題