Rails使用will_paginate插件进行分页

本文详细介绍了在Rubygem官网被墙的情况下,如何成功安装并使用will_paginate插件实现网页分页功能。通过修改Gemfile配置源、调整控制器方法以及在视图中集成插件,最终实现了分页效果,并定义了分页样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天尝试使用will_paginate插件实现分页。

1. 按照官方文档https://github.com/mislav/will_paginate/wiki/Installation安装will_paginate插件。

在Gemfile中添加:

gem 'will_paginate', '~> 3.0.5'

然后在Project的路径下运行:bundle install

出现错误:



查阅资料,原因是Rubygem官网被墙了。

解决办法:

把Gemfile的第一句:

source 'https://rubygems.org'
改为:

source 'http://ruby.taobao.org/'
再次运行 bundle install,成功,显示如下:



2.插件安装成功后,修改对应的controller.rb文件。

把index方法中,

@posts = Post.all
 语句改为

@posts = Post.paginate(:page => params[:page], :per_page => 10)

并在对应的indexj.html.erb中,加入:

<%= will_paginate @posts %>  

随后,在environment.rb文件中,加入:

require 'will_paginate'

在浏览器中即可查看分页效果。

如果提示undefined method `paginate' ,试试重启rails服务器。


3.定义分页的样式。

http://mislav.uniqpath.com/will_paginate/下载样式pagination.css,为了方便我直接把代码拷贝到application.css里面。

修改index.view:

<%= stylesheet_link_tag "application"%>
<div class="apple_pagination">
  <%= will_paginate @posts, :container => false %>
</div>

显示效果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值