以前老版本的rails中默认自带分页方法,不过从rails2.0开始就将内置的分页pagination对象移除了,改以第三方gem提供支持.要在新的rails里使用分页也是非常简单啦,首先安装will_paginate GEM,如果gem install超时,则可以到rubygems.org手动下载然后本地安装:gem install -l xxx.gem.
在rails项目的Gemfile中添加:gem will_paginate,然后bundle install.
将原来index方法修改为:
def index
#@questions = Question.all
@questions = Question.paginate(page:params[:page],per_page:8)
end
然后将index.html.erb中添加一行:
<%= will_paginate @questions %>
大功告成鸟,如果觉得不太美观,可以到 http://mislav.uniqpath.com/will_paginate/ 下载css文件,然后修改index.html.erb相应的代码为:
<div class="digg_pagination">
<div class="page_info">
<%= page_entries_info @posts %>
</div>
<%= will_paginate @posts, :container => false %>
</div>
网址 https://github.com/mislav/will_paginate/wiki 中有详细的说明哦.