最近在用 ruby on rails 实际一个项目。觉得分页很有意思。希望和大家分享,一起进步,还要像大家请教!
在controller 里的 application.rb
def paginate_collection(collection, options={})
default_options={:per_page => 5, :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
在具体的需要分页的controller 中
def index
@forum=Forum.find(params[:id])
@topics=@forum.get_forum_topic_object
@pages, @topics = paginate_collection(@topics, :page => params[:page]) end
在view里的写法:
<div class="breadcrumb" style="float:right;">
Displaying <%= @pages.current.first_item %>
- <%= @pages.current.last_item %>
of <%= @pages.item_count %>
<%= link_to(h('<< '),:page => @pages.first_page) %>
<%= link_to(h('< '),:page => @pages.current.previous) if @pages.current.previous %>
<%= pagination_links(@pages, :window_size => 4) %>
<%= link_to(h(' >'),:page => @pages.current.next) if @pages.current.next %>
<%= link_to(h(' >>'),:page => @pages.last_page) %>
</div>
显示效果:
displaying << 1 2 3 4 > >>
在view里的写法2:
<div class="breadcrumb" style="float:right;">
Displaying <%= @pages.current.first_item %>
- <%= @pages.current.last_item %>
of <%= @pages.item_count %>
<%= link_to(h('<< '),:page => @pages.first_page) %>
<%= link_to(h('< '),:page => @pages.current.previous) if @pages.current.previous %>
<% pagination_links_each(@pages, :window_size => 4) do |n| %>
<%@n=n%>
<a href='?page=<%=@n%>'>
<%=@n%>
</a>
<% end %>
<%= link_to(h(' >'),:page => @pages.current.next) if @pages.current.next %>
<%= link_to(h(' >>'),:page => @pages.last_page) %>
</div>
显示效果如下:
如果是第一页是显示
display << 2 3 > >>
如果是第2页则显示
display << < 1 3 > >>
是为什么啊 显示不当前页码?
分享到:
相关推荐
在Rails开发中,分页是常见的功能,用于处理大量数据并优化用户体验。当我们从数据库查询数据时,一次性加载所有记录可能会导致性能问题,尤其是当数据量庞大时。因此,分页成为了解决这一问题的关键技术。这篇关于...
在Ruby on Rails框架中,`Rails 2.0.2`是一个较早的版本,而分页功能在那个时期并不像现在的Rails应用那样内置在框架内。为了实现分页,开发者通常需要安装并使用第三方插件,比如"will_paginate"。这个插件允许你在...
在这个场景中,我们关注的是Rails的自动完成、文件上传、分页以及上传进度管理相关的插件。让我们详细了解一下这些关键知识点: 1. **Rails 自动完成**: 自动完成是一种功能,允许用户在输入框中键入时提供预填...
《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...
Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...
4. **分页和过滤**:在构建API时,通常需要支持分页和过滤数据。Rails API可以通过Gem(如Kaminari或WillPaginate)轻松实现这些功能。 5. **版本控制**:API的版本控制很重要,Rails API允许你为不同版本的API创建...
Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...
标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...
从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...
Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...
在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...
rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...
Ruby on Rails 安装指南 Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer 版本,并安装 Ruby。然后,下载 Rails 2.0.2 版本,并安装。接下来,...
Rails Recipes是一本针对Ruby on Rails框架的实用书籍,它收集了一系列高效解决问题的技巧和方法,也被称为“Rails开发者的宝典”。作者们通过分享自己的经验和见解,为Rails程序员提供了一本既有实际操作指导又有...
标题 "rails2.3.2" 指的是 Ruby on Rails 框架的一个特定版本,即 2.3.2。Ruby on Rails(通常简称为 Rails)是一个基于 Ruby 语言的开源 Web 应用程序框架,它遵循 Model-View-Controller (MVC) 设计模式,用于构建...
本书《Component-Based Rails Applications》主要介绍了如何使用Rails引擎(Rails Engine)进行基于组件的Rails应用开发,以及如何对应用程序的大型模块进行拆分和模块化。以下是书中一些核心知识点的详细说明: 1....
Rails是Ruby编程语言的一个著名框架,用于开发Web应用程序。它以MVC(模型-视图-控制器)架构模式为基础,提供了许多内置功能,使开发者能够更高效地编写代码。在这个"rails本地安装包完整版"中,包含了Rails 2.1.0...
[Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...
标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...