will_paginate分页插件有一个WillPaginate::LinkRenderer,这个用来定义分页的html输出,我们可以继承这个,从而达到自定义分页输出。
例如:我现在想去掉分页中显示的“上一页”和“下一页”,我们可以在lib中定义一个子类:
class CustomPaginationRenderer < WillPaginate::LinkRenderer
def to_html
links = @options[:page_links] ? windowed_links : []
html = links.join(@options[:separator])
@options[:container] ? @template.content_tag(:div, html, html_attributes) : html
end
end
页面上
<%= will_paginate @items, :renderer => 'CustomPaginationRenderer' %>
而我正想达到的一需求是在原来分页显示的基础上,加上一些分页信息,如每页显示多少条数据,一共有多少页等:
class PaginationDetailLinkRenderer < WillPaginate::LinkRenderer
def to_html
links = @options[:page_links] ? windowed_links : []
links.unshift page_link_or_span(@collection.previous_page, 'disabled prev_page', @options[:previous_label])
links.push page_link_or_span(@collection.next_page, 'disabled next_page', @options[:next_label])
html = links.join(@options[:separator])
html = "每页显示<b>#{@collection.per_page}</b>条数据,共有<b>#{total_pages}</b>页, 共有<b>#{@collection.total_entries}</b>条数据" + html
@options[:container] ? @template.content_tag(:div, html, html_attributes) : html
end
end
效果:
参考资料:
http://thewebfellas.com/blog/2008/8/3/roll-your-own-pagination-links-with-will_paginate
http://zilkey.com/2008/3/16/rendering-will_paginate-links-without-previous-and-next-buttons
分享到:
相关推荐
**will_paginate分页插件详解** 在Web开发中,数据分页是一项常见的需求,它可以帮助用户更有效地浏览大量信息,提高用户体验。Rails框架中,`will_paginate`是一个非常流行且强大的分页插件,它简洁易用,功能强大...
`will_paginate`是Rails框架中非常流行的一个分页插件,版本2.2.2是它的一个历史版本。在本文中,我们将深入探讨`will_paginate`的使用方法、功能特性以及它如何与Rails集成,帮助提升Web应用的性能和用户体验。 一...
开发者可以根据项目需求和团队偏好选择合适的分页插件。 总结,will_paginate是Rails开发中不可或缺的工具之一,它简化了数据分页的实现,提升了代码的可读性和维护性。通过理解并熟练掌握will_paginate的使用,...
7. **自定义渲染**:`will_paginate` 提供了自定义分页链接渲染的功能,你可以根据需求定制分页的HTML结构。 8. **分页参数安全**:`will_paginate` 会验证并处理分页参数,防止恶意用户通过修改URL来访问未授权的...
《will_paginate v2.3.11:Rails分页插件详解》 在Web开发中,处理大量的数据是常见的需求,特别是在使用Ruby on Rails框架时。为了优化用户体验,提高页面加载速度,分页功能显得尤为重要。这时,will_paginate...
为了实现分页,开发者通常需要安装并使用第三方插件,比如"will_paginate"。这个插件允许你在Rails应用中轻松地对数据进行分页显示,提高用户体验并减轻服务器压力。 **1. will_paginate插件介绍** `will_paginate`...
`will_paginate` 还具有高度可定制性,允许自定义分页链接的样式、每页显示的记录数以及分页组件的行为。 总结来说,`will_paginate` 是 Ruby on Rails 中处理大数据集合的必备工具,它的易用性和灵活性使得在各种...
`Will_Paginate` 是一个非常流行的Ruby on Rails插件,用于处理大型数据集的分页。它提供了简洁、灵活的API,使得在Rails应用中实现数据库查询结果的分页变得简单易行。在本篇文章中,我们将深入探讨`Will_Paginate`...
Rails提供了一些插件,如`will_paginate`或`kaminari`,它们提供了一种优雅的方式来分页查询结果,提高用户体验。 6. **日历**:为了展示时间相关的简历信息,如工作经验或项目日期,可以使用像`fullcalendar-rails...
will_paginate** - **作用**:为Rails内置的分页功能提供更好的替代方案。 #### 五、文档与帮助资源 **1. fastri** - **功能**:加速 Ruby 文档查询的速度。 - **安装**:通过命令`gem install fastri`安装。 -...