2010-05-01 68 views
5

我使用will_paginate作爲標準,但它只顯示分頁控制(< 1 2>等),當有多個頁面顯示時。通常情況下,這會是什麼是想要的,但我想看到的分頁控件(UI一致性,並避開在我工作的系統中的一個惱人的CSS怪癖),即使有隻1頁顯示(顯示< 1 >)。使用will_paginate顯示只有單頁面的分頁

這可能嗎?

回答

5

默認will_paginate助手返回nil時,只有一個頁面,所以你可以做這樣的事情:

<%= will_paginate(@records) || your_single_page_state_html %> 
+1

這感覺有點髒,我 - 可能是因爲它需要重複每一頁有分頁。不幸的是,它確實是唯一的好方案。 WillPaginate使得其決心基於'WillPaginate :: ViewHelpers.total_pages_for_collection',你不能更改,恕不插件的行爲產生不利影響渲染。我想如果你需要爲很多分頁頁面做這個,你可以將它提取到一個輔助方法中:'def paginate_always(records); will_paginate(記錄)|| some_html; end'。 – 2010-05-02 02:02:16

+0

這是一個更乾淨的方式來做到這一點 - 非常感謝! :) – 2010-05-02 10:20:11