`
wtb
  • 浏览: 106010 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

rails中的常用分页一

阅读更多
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 代码
 
  1. def paginate_collection(collection, options = {})  
  2.    default_options = {:per_page => 10, :page => 1}  
  3.    options = default_options.merge options  
  4.      
  5.    pages = Paginator.new self, collection.size, options[:per_page], options[:page]  
  6.    first = pages.current.offset  
  7.    last = [first + options[:per_page], collection.size].min  
  8.    slice = collection[first...last]  
  9.    return [pages, slice]  
  10.  end  

Call it from within your action like this:
ruby 代码
 
  1. @pages@users = paginate_collection User.find_custom_query, :page => @params[:page]  
分享到:
评论
1 楼 wtb 2007-06-28  
分面链接仍然用
<%=pagination_links(@pages, :window_size => 4) %>

相关推荐

    关于rails学习中分页的示例

    在Rails中,最常用的分页库是`Kaminari`和`WillPaginate`。这里我们将以`Kaminari`为例进行讲解,因为它是近年来更受欢迎的选择,且具有简洁的API和良好的社区支持。 1. **安装Kaminari** 在Gemfile中添加`...

    ruby on rails 常用插件下载

    在这个特定的场景中,我们关注的是一个名为 "will_paginate" 的插件,它是 Ruby on Rails 中用于实现高效、灵活分页功能的常用工具。 `will_paginate` 插件为 Rails 应用程序提供了一种简单而优雅的方式来处理大量...

    resume 用Ruby技术实现的search 分页的例子

    在Ruby on Rails(ROR)框架中,实现搜索和分页功能是常见的需求,尤其是在构建数据密集型Web应用时。本示例将深入探讨如何利用Ruby技术和Rails的强大特性来完成这一任务。 首先,我们需要理解搜索功能的基础:查询...

    awesome-rails-gem-zh_CN, Rails 常用 Gem 列表 - Awesome Rails Gem 中文版.zip

    Awesome Rails Gem 是一个广泛收录了Rails开发中常用、实用、有趣的Gem的列表,旨在帮助开发者提高开发效率和代码质量。这个中文版的Awesome Rails Gem列表,为国内开发者提供了一个方便的参考资源,使他们能够更好...

    网页开发很炫的分页显示

    本文将深入探讨网页开发中的炫酷分页显示及其常用实现方式。 一、分页显示的概念与作用 分页显示是指在浏览网页时,将大量信息分割成若干个页面,每个页面只显示一部分内容,用户通过点击页码或导航按钮来切换不同...

    Rails2.0资料

    - **部分布局**:Rails 2.0支持嵌套布局,允许在一个布局中包含另一个布局,为页面设计提供了更大的灵活性。 ##### 3.5 RESTful路由更新 - **RESTful路由**:对RESTful路由进行了改进,使其更加符合REST原则,同时...

    backbone-rails-extensions:此仓库是Coroutine在Rails应用程序中常用的一组主干扩展

    该gem提供了对Backbone.js的一组常见扩展。 这些扩展包括简单的集合视图,分页的集合视图,搜索和加载指示符。 默认情况下,所有文件都包含在资产管道中。 要利用项目中的文件,只需引用清单文件中的组件。 依存...

    Ruby and MongoDB Web Development

    MongoDB是一种流行的开源、分布式文档型数据库,而Ruby则以其简洁、优雅的语法和强大的Rails框架闻名于Web开发领域。将两者结合,可以构建高效、灵活的Web应用程序。 在MongoDB方面,本书可能会涵盖以下知识点: 1...

    yatayat_server:Yatayat 应用后端

    描述中提到的“分页”是一项重要的功能,尤其是在处理大量数据时,如用户查询或显示列表。它允许用户以较小、可管理的块来查看信息,而不是一次性加载所有内容,从而提高用户体验并减少服务器负载。这里提到了三种...

    图书展示的实现

    1. **Web开发框架**:通常,网上书城这样的应用会基于某种Web开发框架构建,如Spring Boot、Django或Rails。这些框架提供了一整套工具和结构,使得开发人员能够更高效地构建动态网页应用。 2. **数据库管理**:为了...

    Jfina 自搭框架

    Jfinal 是一个MVC(Model-View-Controller)架构的实现,它借鉴了Ruby on Rails的许多设计理念,使得Java开发者也能体验到快速开发的乐趣。 在Jfina框架中,主要包含以下几个核心概念: 1. **Controller**:控制器...

    毕业设计网站开发源码-gtbit_alumni:GTBIT校友网络网站。堆栈:Rails、JQuery、MySQL、Redis、Nginx

    主要动机是确保学生能够通过提问来清除所有与职业相关的疑问。 添加了“匿名”提问的选项,这样学生就不会害羞地提问(我认为这是大学生的一个主要问题)。 特征 这不是一个非常火箭科学的事情,并且有非常简单的...

    EasyJWeb开发者指南

    - **定义**:EasyJWeb是一个面向企业级Java Web应用的快速开发框架,它的设计灵感来源于国内外的实际项目经验,融合了多种流行开源Web框架的优点,如Rails、Struts、JSF等。 - **目标**:EasyJWeb的主要目标是简化...

    activeadmin-depot:这是一个展示 Active Admin 强大功能的测试应用程序

    Active Admin 是一个用于 Ruby on Rails 应用程序的管理界面框架,它允许开发者快速创建美观、功能丰富的后台管理系统。这个名为 "activeadmin-depot" 的项目是一个演示 Active Admin 能力的测试应用,旨在帮助...

    java开源包1

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    record_store

    1. **数据模型**:`record_store`可能使用主动记录模式(Active Record pattern),这是Ruby on Rails框架中的一个核心概念。在这个模式下,数据模型类直接与数据库表关联,简化了数据库操作。 2. **持久化**:记录...

    PHP框架大全

    - **简介**:FUSE 是一个受到 Ruby on Rails 和 CakePHP 影响的 PHP 框架,具有定制化设计。 - **特点**: - MVC 架构。 - 定制化设计。 - 稳定可靠。 - **适用场景**:适合中小型项目。 - **发布时间**:未提及...

    java开源包11

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    JAVA上百实例源码以及开源项目源代码

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

Global site tag (gtag.js) - Google Analytics