运行环境: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
这样就把管理员滤掉了