willpaginate:ruby will_paginate的使用方法

  老版本will_paginate是基于plugin方式其安装方式如下:ruby script/plugin 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: content:text


  此时设置下数据库(C:foobarconfigdatabase.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:foobarconfigenvironment.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:

  安装就完成了

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

  # C:foobarappcontrollersarticles_controller.rb

  @articles = Article.paginate :page => params[:page], :per_page => 2

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

  # C:foobarappviewsarticlesindex.html.erb

  <%= will_paginate @articles %>

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

Tags:  will用法 will的用法 paginate willpaginate

延伸阅读

最新评论

发表评论