使用will_paginate分页

六 26th, 2011

一、安装will_paginate:
编辑GemFile,添加一行:gem ‘will_paginate’
然后执行:

$ bundle install

会自动下载最新版本的will_paginate

二、修改要进行分页的Controller,在index方法中把旧的查找全部的方法改为

# @posts = Post.all
@posts = Post.paginate(:page => params[:page], :per_page => 20, :order => 'updated_at DESC')

三、修改index对应的视图文件
在结尾添加

四、使用方法扩展
1、paginate对find方法进行了包装,所有 find_xxx 都可以直接用 paginate_xxx
2、设置分页方法:法一:在Model中添加self.per_page = 20;法二:直接在paginate后面添加:per_page => 20参数
3、这个插件可以独立于rails单独使用

>>原创文章,欢迎转载。转载请注明:转载自Ruby迷,谢谢!
>>原文链接地址:使用will_paginate分页
  1. 金贝贝
    十二 13th, 201108:06

    补充下,RAILS是3.1.3

    • 老宋
      十二 13th, 201109:39

      先在Gemfile中添加gem ‘will_paginate’。然后运行bundle install。
      will_paginate最近竟然更新了,莫非枯木要逢春。可惜很多老用户都投奔kaminari了

  2. 金贝贝
    十二 13th, 201108:05

    我成功使用gem install will_paginate
    提示安装成功。
    然后在gem ‘will_paginate’的时候出现错误:
    ERROR:While executing gem…(RuntimeError)
    Unknown command will_paginate
    然后我改用:
    gem “will_paginate”, “~> 3.0.2″
    同样的问题,请问为什么?

  3. BlackGil
    六 27th, 201117:14

    我怎么找不到GemFile?

    • 老宋
      六 30th, 201114:30

      你用的Rails版本小于3.0吧?GemFile是Rails 3.0开始才有的