运行环境:ruby2.0 rails4.0.0
设置分页有两种方法,1.在Model中添加self.per_page = 9;2.直接在paginate后面添加:per_page => 10参数,以下是第二种方法:
1.安装will_paginate
(1)在genfile文件中添加
2.改controller
User.paginate默认分页是30条数据一页,可以加限制,比如说想每页显示10条数据,就可以
执行时生成的SQL语句如下:
SELECT "users".* FROM "users" LIMIT 10 OFFSET 0
3.改对应的视图文件
这样就可以实现分页显示了
will_paginate 方法有点小神奇,在 Users 控制器的视图中,它会自动寻找名为 @users 的对象,然后显示一个分页导航链接。因为我的控制器是User,所以上面代码的@user可以省略。
还可以对要显示的数据库内容进行筛选:比如要要显示除管理员之外的所有用户信息可以这样添加限制
执行时会生成SQL语句如下:
SELECT "users".* FROM "users" WHERE "users"."admin" = 'false' LIMIT 9 OFFSET 0
这样就把管理员滤掉了
补充:
有时候需要对某些数据进行分页显示,而这些数据不是从数据库直接读取出来的,比如说显示从另一个服务器传过来的数据,这样就不能直接用.paginate
假如@activities是一个对象数组,可以这样做,首先要在需要分页的controller的代码上方引入
然后把@activities存到session里
在从session里面读取分页
这种方式只适用于记录条数较少的情况下使用。
设置分页有两种方法,1.在Model中添加self.per_page = 9;2.直接在paginate后面添加:per_page => 10参数,以下是第二种方法:
1.安装will_paginate
(1)在genfile文件中添加
gem 'will_paginate' gem 'bootstrap-will_paginate'然后执行
$ bundle install
2.改controller
def manage_index @user = User.paginate(page: params[:page])) end
User.paginate默认分页是30条数据一页,可以加限制,比如说想每页显示10条数据,就可以
def manage_index @user = User.paginate(page: params[:page],per_page:10)) end
执行时生成的SQL语句如下:
SELECT "users".* FROM "users" LIMIT 10 OFFSET 0
3.改对应的视图文件
%tbody -@user.each do |t| %tr %td(align="center" style="width:37%" valign="middle") =t.id-1 %td(align="center" style="width:37%" valign="middle") =t.name %td(align="center" style="width:45%" valign="middle") =link_to '删除' ,:action => "login" =link_to '修改密码',:action => "login" .right-padding = will_paginate @user
这样就可以实现分页显示了
will_paginate 方法有点小神奇,在 Users 控制器的视图中,它会自动寻找名为 @users 的对象,然后显示一个分页导航链接。因为我的控制器是User,所以上面代码的@user可以省略。
还可以对要显示的数据库内容进行筛选:比如要要显示除管理员之外的所有用户信息可以这样添加限制
@user = User.paginate(page: params[:page], per_page: 9).where(:admin => 'false')
执行时会生成SQL语句如下:
SELECT "users".* FROM "users" WHERE "users"."admin" = 'false' LIMIT 9 OFFSET 0
这样就把管理员滤掉了
补充:
有时候需要对某些数据进行分页显示,而这些数据不是从数据库直接读取出来的,比如说显示从另一个服务器传过来的数据,这样就不能直接用.paginate
假如@activities是一个对象数组,可以这样做,首先要在需要分页的controller的代码上方引入
require 'will_paginate/array'
然后把@activities存到session里
session[:aa] = @activities
在从session里面读取分页
@aa = session[:aa].paginate(page: params[:page], per_page: 10)
这种方式只适用于记录条数较少的情况下使用。
发表评论
-
rails download files by post request
2016-07-04 14:34 415刚做了一个下载文件,用的是get请求 1.先说用get请 ... -
ruby中类的层级关系
2014-09-03 23:02 647所有的类最终继承于Object,Object本身又继承于 ... -
ruby中的对象包含什么
2014-09-02 22:21 495class MyClass def my_metho ... -
activerecord 中查询created_at在一定时间段内
2014-08-20 22:07 767今天遇到一个问题,需要取出数据库中本月的一些记录。 查了 ... -
guanzhuweobo
2014-01-17 17:10 0为了得到一个由所有被关注用户组成的 followed_user ... -
weibiweibi
2014-01-16 15:31 810.1.3 用户和微博之间的关联 在为 Web 程序构建数 ... -
管理员权限
2014-01-16 14:16 0我们要通过 User 模型中一个名为 admin 的属性来判断 ... -
利用faker创建示例用户
2014-01-16 13:51 0之前做过一个ruby_on_rails的教程,其中实现用户管理 ... -
转向用户真正相撞向的页面
2014-01-16 11:15 0要转向用户真正想访问的页面,我们要在某个地方存储这个页面的地址 ... -
添加头像
2014-01-15 15:01 0首先,我们要在用户资料页面中添加一个“全球通用识别”的头像,这 ... -
唯一性验证
2014-01-15 12:55 0为 email 列建立索引就要改变数据库模型,在 Rails ... -
用image_tag添加图片
2014-01-14 17:25 0在rails工程中添加图片: = link_to image_ ... -
ruby 中的处理数组函数与Hash
2014-01-15 09:37 674>> "foo bar baz ... -
定义 full_title 帮助方法
2013-12-31 10:08 0module ApplicationHelper # ... -
对数据操作的一些函数
2013-12-30 15:17 0Model.take检索的记录,没 ... -
用has_secure_password对密码进行加密
2013-12-28 19:19 2258运行环境: rails 4.0.0 rub ... -
rails中用validates进行合法性验证
2013-12-28 19:33 2051活动通中注册信息的验 ... -
rails的三种生产环境
2013-12-28 18:29 966Rails 定义了三个环境,分别是“生产环境”、“开发环境”和 ... -
rails中路由的配置
2013-12-24 18:18 01.典型路由: match '/:controller' m ... -
render与redirect_to页面显示
2013-12-28 18:21 4801.redirect_to要向服务器重新发送请求,示例代码如下 ...
相关推荐
本文将深入探讨`will_paginate`的使用方法、核心概念以及其实现原理。 ### 一、安装与配置 在Rails项目中,我们可以通过以下命令安装`will_paginate`: ```bash gem install will_paginate ``` 然后,在`Gemfile...
`will_paginate`是Rails框架中非常流行的一个分页插件,版本2.2.2是它的一个历史版本。在本文中,我们将深入探讨`will_paginate`的使用方法、功能特性以及它如何与Rails集成,帮助提升Web应用的性能和用户体验。 一...
will_paginate-bootstrap, 将 Twitter Bootstrap 分页组件与will_paginate集成 will_paginate-bootstrap不再维护我不再使用 Bootstrap 来使用 Rails,所以不幸的是,我不再接受请求请求或者维护这个库。 为了发布你...
《will_paginate插件详解与应用》 在Web开发中,数据分页是常见的功能,尤其是在处理大量数据时,为了提高用户体验和加载速度,...通过理解并熟练掌握will_paginate的使用,开发者可以更高效地处理大数据量的Web应用。
5. **视图中显示分页链接**:在视图中,使用`will_paginate`提供的`will_paginate`和`page_links`辅助方法生成分页链接。例如: ```erb <%= will_paginate @posts %> <%= page_links @posts %> ``` 这将生成上...
例如,你可以用 `@posts.paginate(page: params[:page], per_page: 10)` 来获取指定页面的记录,并设置每页显示的记录数。 2. **灵活的配置**:`will_paginate` 允许开发者自定义分页参数,如默认每页记录数,以及...
《will_paginate v2.3.11:Rails分页插件详解》 在Web开发中,处理大量的数据是常见的需求,特别是在使用Ruby on Rails框架时。为了优化用户体验,提高页面加载速度,分页功能显得尤为重要。这时,will_paginate...
使用gem 'will_paginate', '~> 3.0.7'实现无限/无限滚动的工作 Rails CRUD 应用程序示例。 gem 'faker'被用来为项目gem 'faker'虚假数据。 演示 现场演示: : 在本地开发中安装 克隆回购: git clone git@github...
will_paginate will_paginate是一个分页库,与Ruby on Rails,Sinatra,Hanami :: View,Merb,DataMapper和Sequel集成。 安装: ## Gemfile for Rails 3+, Sinatra, and Merbgem 'will_paginate' , '~> 3.1.0' 有关...
Rails Engine扩展了样式以匹配Twitter的 4工具包中的分页样式约定。 安装 添加到您的Gemfile: gem 'will_paginate-bootstrap4' 用法 <%= will_paginate @clients, renderer: WillPaginate::ActionView::...
Rails提供了`will_paginate`或`kaminari`这样的插件来简化分页实现。以`will_paginate`为例,首先添加到Gemfile并安装: ```ruby gem 'will_paginate' gem 'will_paginate-bootstrap' # 如果你想使用Bootstrap样式 ...
它提供了简洁、灵活的API,使得在Rails应用中实现数据库查询结果的分页变得简单易行。在本篇文章中,我们将深入探讨`Will_Paginate`的原理、安装、使用方法以及一些高级特性。 ### 1. 安装 要在Rails项目中使用`...
为了实现分页,开发者通常需要安装并使用第三方插件,比如"will_paginate"。这个插件允许你在Rails应用中轻松地对数据进行分页显示,提高用户体验并减轻服务器压力。 **1. will_paginate插件介绍** `will_paginate`...
总的来说,`will_paginate` 是一个强大的工具,无论你在哪个 Ruby 框架下工作,都能简化分页实现,提高代码可读性和可维护性。它通过统一的 API 跨框架支持,降低了学习成本,使得开发者可以在不同的项目之间轻松...
新版本的will_paginate已经抛弃了这样的做法,转而使用gem的方式,本文通过建立一个名为foobar的应用来了解一下will_paginate的用法。 ============================== C:\>rails foobar -d mysql C:\>cd foobar C:\...
在这个特定的场景中,我们关注的是一个名为 "will_paginate" 的插件,它是 Ruby on Rails 中用于实现高效、灵活分页功能的常用工具。 `will_paginate` 插件为 Rails 应用程序提供了一种简单而优雅的方式来处理大量...
### 使用Flask-SQLAlchemy实现分页效果 #### 引言 在Web开发中,当数据量较大时,为了提高用户体验以及减轻服务器负担,通常会采用分页技术展示数据。Flask-SQLAlchemy是一个非常流行的扩展,它为Flask框架提供了...
在本主题中,我们将深入探讨如何实现“超强数据库分页”以及相关的技术细节。 首先,我们需要理解数据库查询的基本概念。当用户请求特定页的数据时,服务器需要执行SQL查询来获取对应的数据范围。这个过程通常涉及...