用will_paginate读取数据库内容并实现分页显示_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > 用will_paginate读取数据库内容并实现分页显示

用will_paginate读取数据库内容并实现分页显示

 2013/12/8 22:26:05  wangsuting  程序员俱乐部  我要评论(0)
  • 摘要:运行环境:ruby2.0rails4.0.0设置分页有两种方法,1.在Model中添加self.per_page=9;2.直接在paginate后面添加:per_page=>9参数,以下是第二种方法:1.安装will_paginate(1)在genfile文件中添加gem"will_paginate"然后执行$bundleinstall2.改controllerdefmanage_index@user=User.paginate(page:params[:page],per_page:9
  • 标签:实现 数据库 内容 数据
运行环境:ruby2.0  rails4.0.0

设置分页有两种方法,1.在Model中添加self.per_page = 9;2.直接在paginate后面添加:per_page => 9参数,以下是第二种方法:

1.安装will_paginate
  (1)在genfile文件中添加 gem "will_paginate"然后执行
class="shell"> $ bundle install

2.改controller
def manage_index
    @user = User.paginate(page: params[:page], per_page: 9))
  end

执行时生成的SQL语句如下:
SELECT "users".* FROM "users" LIMIT 9 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

这样就可以实现分页显示了

还可以对要显示的数据库内容进行筛选:比如要要显示除管理员之外的所有用户信息可以这样添加限制
@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
这样就把管理员滤掉了


发表评论
用户名: 匿名