snippets.dzone.com/posts/show/389
Sometimes it's nearly impossible to paginate a result set using the built-in :limit and :offset parameters of find(:all). Instead, you can fetch a complicated query and paginate the results afterward.
Add the following to application.rb:
ruby 代码
- def paginate_collection(collection, options = {})
- default_options = {:per_page => 10, :page => 1}
- options = default_options.merge options
-
- pages = Paginator.new self, collection.size, options[:per_page], options[:page]
- first = pages.current.offset
- last = [first + options[:per_page], collection.size].min
- slice = collection[first...last]
- return [pages, slice]
- end
Call it from within your action like this:
ruby 代码
- @pages, @users = paginate_collection User.find_custom_query, :page => @params[:page]
分享到:
相关推荐
在Rails中,最常用的分页库是`Kaminari`和`WillPaginate`。这里我们将以`Kaminari`为例进行讲解,因为它是近年来更受欢迎的选择,且具有简洁的API和良好的社区支持。 1. **安装Kaminari** 在Gemfile中添加`...
在这个特定的场景中,我们关注的是一个名为 "will_paginate" 的插件,它是 Ruby on Rails 中用于实现高效、灵活分页功能的常用工具。 `will_paginate` 插件为 Rails 应用程序提供了一种简单而优雅的方式来处理大量...
在Ruby on Rails(ROR)框架中,实现搜索和分页功能是常见的需求,尤其是在构建数据密集型Web应用时。本示例将深入探讨如何利用Ruby技术和Rails的强大特性来完成这一任务。 首先,我们需要理解搜索功能的基础:查询...
Awesome Rails Gem 是一个广泛收录了Rails开发中常用、实用、有趣的Gem的列表,旨在帮助开发者提高开发效率和代码质量。这个中文版的Awesome Rails Gem列表,为国内开发者提供了一个方便的参考资源,使他们能够更好...
本文将深入探讨网页开发中的炫酷分页显示及其常用实现方式。 一、分页显示的概念与作用 分页显示是指在浏览网页时,将大量信息分割成若干个页面,每个页面只显示一部分内容,用户通过点击页码或导航按钮来切换不同...
- **部分布局**:Rails 2.0支持嵌套布局,允许在一个布局中包含另一个布局,为页面设计提供了更大的灵活性。 ##### 3.5 RESTful路由更新 - **RESTful路由**:对RESTful路由进行了改进,使其更加符合REST原则,同时...
该gem提供了对Backbone.js的一组常见扩展。 这些扩展包括简单的集合视图,分页的集合视图,搜索和加载指示符。 默认情况下,所有文件都包含在资产管道中。 要利用项目中的文件,只需引用清单文件中的组件。 依存...
MongoDB是一种流行的开源、分布式文档型数据库,而Ruby则以其简洁、优雅的语法和强大的Rails框架闻名于Web开发领域。将两者结合,可以构建高效、灵活的Web应用程序。 在MongoDB方面,本书可能会涵盖以下知识点: 1...
描述中提到的“分页”是一项重要的功能,尤其是在处理大量数据时,如用户查询或显示列表。它允许用户以较小、可管理的块来查看信息,而不是一次性加载所有内容,从而提高用户体验并减少服务器负载。这里提到了三种...
1. **Web开发框架**:通常,网上书城这样的应用会基于某种Web开发框架构建,如Spring Boot、Django或Rails。这些框架提供了一整套工具和结构,使得开发人员能够更高效地构建动态网页应用。 2. **数据库管理**:为了...
Jfinal 是一个MVC(Model-View-Controller)架构的实现,它借鉴了Ruby on Rails的许多设计理念,使得Java开发者也能体验到快速开发的乐趣。 在Jfina框架中,主要包含以下几个核心概念: 1. **Controller**:控制器...
主要动机是确保学生能够通过提问来清除所有与职业相关的疑问。 添加了“匿名”提问的选项,这样学生就不会害羞地提问(我认为这是大学生的一个主要问题)。 特征 这不是一个非常火箭科学的事情,并且有非常简单的...
- **定义**:EasyJWeb是一个面向企业级Java Web应用的快速开发框架,它的设计灵感来源于国内外的实际项目经验,融合了多种流行开源Web框架的优点,如Rails、Struts、JSF等。 - **目标**:EasyJWeb的主要目标是简化...
Active Admin 是一个用于 Ruby on Rails 应用程序的管理界面框架,它允许开发者快速创建美观、功能丰富的后台管理系统。这个名为 "activeadmin-depot" 的项目是一个演示 Active Admin 能力的测试应用,旨在帮助...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
1. **数据模型**:`record_store`可能使用主动记录模式(Active Record pattern),这是Ruby on Rails框架中的一个核心概念。在这个模式下,数据模型类直接与数据库表关联,简化了数据库操作。 2. **持久化**:记录...
- **简介**:FUSE 是一个受到 Ruby on Rails 和 CakePHP 影响的 PHP 框架,具有定制化设计。 - **特点**: - MVC 架构。 - 定制化设计。 - 稳定可靠。 - **适用场景**:适合中小型项目。 - **发布时间**:未提及...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...