ruby will_paginate的用法

 更新时间:2008年08月16日 21:53:34   作者:  
老版本的will_paginate是基于plugin方式的,其安装方式如下:ruby script/plugin install svn://errtheblog.com/svn/plugins/will_paginate
新版本的will_paginate已经抛弃了这样的做法,转而使用gem的方式,本文通过建立一个名为foobar的应用来了解一下will_paginate的用法。

==============================

C:\>rails foobar -d mysql

C:\>cd foobar

C:\foobar>ruby script/generate scaffold article title:string content:text

此时设置一下数据库(C:\foobar\config\database.yml),并且确保相关数据库已经建立好了。

C:\foobar>rake db:migrate

C:\foobar>ruby script/server

此时,http://localhost:3000/articles可以浏览了,添加一些数据(比如十条),为分页做准备。

===============================

plugin形式的旧版will_paginate不用在rails程序里显式的加载,这是因为rails启动时会自动执行插件目录下的init.rb文件,而新版will_pagiante采用的是gem形式,没有这样的机制,所以需要在rails程序里显式的加载:

# C:\foobar\config\environment.rb
Rails::Initializer.run do |config|
config.gem 'mislav-will_paginate', :version => '~> 2.3.2', :lib => 'will_paginate',
:source => 'http://gems.github.com'
end

此时,重启一下WEBrick,然后执行如下命令安装相应的gem:

C:\foobar>rake gems:install

安装就完成了。

修改控制器的index方法,加上类似下面的代码:

# C:\foobar\app\controllers\articles_controller.rb
@articles = Article.paginate :page => params[:page], :per_page => 2

修改对应的模板文件,加上类似下面的代码:

# C:\foobar\app\views\articles\index.html.erb
<%= will_paginate @articles %>

再次重启一下WEBrick,然后浏览就可能看到分页效果了。

===============================

will_paginate的最新文档:http://github.com/mislav/will_paginate/wikis

相关文章

  • 举例讲解Ruby中迭代器Iterator的用法

    举例讲解Ruby中迭代器Iterator的用法

    这篇文章主要介绍了举例讲解Ruby中迭代器Iterator的用法,是Ruby学习进阶中的重要知识,需要的朋友可以参考下
    2015-05-05
  • 深入理解Ruby中的block概念

    深入理解Ruby中的block概念

    这篇文章主要介绍了深入理解Ruby中的block概念,文中给出了Javascript代码块与Ruby代码块的对比,需要的朋友可以参考下
    2015-04-04
  • Ruby中的String对象学习笔记

    Ruby中的String对象学习笔记

    这篇文章主要介绍了Ruby中的String对象学习笔记,本文讲解了String对象的定义、String对象的操作、使用数组下标的方式操作字符串等内容,需要的朋友可以参考下
    2014-11-11
  • 在Ruby程序中连接数据库的详细教程

    在Ruby程序中连接数据库的详细教程

    这篇文章主要介绍了在Ruby程序中连接数据库的详细教程,包括介绍数据库支持Ruby的接口等,是学习Ruby on Rails的基础,需要的朋友可以参考下
    2015-04-04
  • 详解Ruby当中的算数运算

    详解Ruby当中的算数运算

    这篇文章主要介绍了详解Ruby当中的算数运算,是Ruby学习当中的基础知识,需要的朋友可以参考下
    2015-05-05
  • 使用Ruby on Rails快速开发web应用的教程实例

    使用Ruby on Rails快速开发web应用的教程实例

    这篇文章主要介绍了使用Ruby on Rails快速开发web应用的教程实例,本文来自于IBM官方技术文档,需要的朋友可以参考下
    2015-04-04
  • ruby执行周期性任务的三种gem介绍

    ruby执行周期性任务的三种gem介绍

    无论是用ruby做系统管理,还是用rails做web开发,都可能遇到周期性任务,它们按照一定时间周期(1小时,2天......)持续地触发。在ruby中,我认为一次性任务使用 sidekiq 来完成是非常方便的,而周期性的任务就需要用到 whenever , sidetiq , clockwork 等等gem了。
    2014-07-07
  • ruby开发的交互式程序例子

    ruby开发的交互式程序例子

    这篇文章主要介绍了ruby开发的交互式程序例子,本文使用ripl实现,需要的朋友可以参考下
    2014-07-07
  • openSUSE下的Ruby安装openssl出错解决方法

    openSUSE下的Ruby安装openssl出错解决方法

    这篇文章主要介绍了openSUSE下的Ruby安装openssl出错解决方法, 本文方法同时适用类似错误的其它包的安装中,需要的朋友可以参考下
    2014-11-11
  • 浅析Ruby中继承和消息的相关知识

    浅析Ruby中继承和消息的相关知识

    这篇文章主要介绍了Ruby中继承和消息,是Ruby入门学习中的基础知识,需要的朋友可以参考下
    2015-07-07

最新评论