2010-05-01 36 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