`

[Rails 常用插件简介]will_paginate

阅读更多
Rails2.0中原pagination将被移出作为插件classic_pagination,will_paginate是个非常不错的替代方案

一:安装

  1. ruby script/plugin install svn://errtheblog.com/svn/plugins/will_paginate   
 ruby script/plugin install svn://errtheblog.com/svn/plugins/will_paginate  

 


二:使用

Controller

  1. @posts = Post.paginate_by_board_id @board.id, :page => params[:page]||1 
 @posts = Post.paginate_by_board_id @board.id, :page => params[:page]||1

 


如我们以前的find一样

在View中显示分页

  1. <%= will_paginate @posts %> 
<%= will_paginate @posts %>

 


那么如何设定每页显示记录条数?paginate将会调用mode的per_page,譬如上面的Post将会调用Post.per_page.或者直接在paginate中加上per_page
1:) 在model中

  1. class Post < ActiveRecord::Base  
  2.   cattr_reader :per_page 
  3.   @@per_page = 50  
  4. end 
    class Post < ActiveRecord::Base
      cattr_reader :per_page
      @@per_page = 50
    end

 




  1. class Post < ActiveRecord::Base  
  2.   class<<self 
  3.       def per_page  
  4.         50  
  5.       end 
  6.   end 
  7. end 
    class Post < ActiveRecord::Base
      class<<self
          def per_page
            50
          end
      end
    end

 


2:) 在controller中

  1. @posts = Post.paginate :page => params[:page]||1, :per_page => 50 
@posts = Post.paginate :page => params[:page]||1, :per_page => 50

 


如果没有设定,将会使用默认值30

will_paginate 对原有的find做了包装,并且新增几个特性,如下:

  1. page           REQUIRED, but defaults to 1 if false or nil 
  2. per_page       (default is read from the model, which is 30 if not overriden)  
  3. total entries  not needed unless you want to count the records yourself somehow  
  4. count          hash of options that are used only for the call to count 
page           REQUIRED, but defaults to 1 if false or nil
per_page       (default is read from the model, which is 30 if not overriden)
total entries  not needed unless you want to count the records yourself somehow
count          hash of options that are used only for the call to count

 


注:page 属性是必须的
分享到:
评论

相关推荐

    will_paginate分页插件

    Rails框架中,`will_paginate`是一个非常流行且强大的分页插件,它简洁易用,功能强大,能够很好地与ActiveRecord集成。本文将深入探讨`will_paginate`的使用方法、核心概念以及其实现原理。 ### 一、安装与配置 ...

    will_paginate 2.2.2

    `will_paginate`是Rails框架中非常流行的一个分页插件,版本2.2.2是它的一个历史版本。在本文中,我们将深入探讨`will_paginate`的使用方法、功能特性以及它如何与Rails集成,帮助提升Web应用的性能和用户体验。 一...

    will_paginate插件下载

    will_paginate是一款广受欢迎的Ruby on Rails插件,用于实现高效、简洁的数据分页。在本文中,我们将深入探讨will_paginate的安装、使用方法以及其核心概念,帮助开发者更好地理解和应用这个插件。 一、will_...

    will_paginate v2.3.11

    《will_paginate v2.3.11:Rails分页插件详解》 在Web开发中,处理大量的数据是常见的需求,特别是在使用Ruby on Rails框架时。为了优化用户体验,提高页面加载速度,分页功能显得尤为重要。这时,will_paginate...

    will_paginate 2.1.0

    `will_paginate` 是一个非常流行的 Ruby on Rails(Rails)框架中的分页库,它为开发者提供了方便的方式来处理大量数据的分页展示。版本 `2.1.0` 是这个库的一个特定版本,包含了该库在当时的一些特性、优化和可能的...

    ruby on rails 常用插件下载

    在这个特定的场景中,我们关注的是一个名为 "will_paginate" 的插件,它是 Ruby on Rails 中用于实现高效、灵活分页功能的常用工具。 `will_paginate` 插件为 Rails 应用程序提供了一种简单而优雅的方式来处理大量...

    rails 2.0.2 分页 需另外下载插件

    在Rails 2.0.2中,你需要通过Gemfile来添加will_paginate插件。首先,在你的项目目录下的Gemfile中添加以下代码: ```ruby gem 'will_paginate', '~&gt; 2.3.16' # 使用适合Rails 2.0.2的版本号 ``` 然后运行`bundle ...

    WillPaginateExample:Ruby on Rails的Will_Paginate示例

    `Will_Paginate` 是一个非常流行的Ruby on Rails插件,用于处理大型数据集的分页。它提供了简洁、灵活的API,使得在Rails应用中实现数据库查询结果的分页变得简单易行。在本篇文章中,我们将深入探讨`Will_Paginate`...

    resume 用Ruby技术实现的search 分页的例子

    Rails提供了`will_paginate`或`kaminari`这样的插件来简化分页实现。以`will_paginate`为例,首先添加到Gemfile并安装: ```ruby gem 'will_paginate' gem 'will_paginate-bootstrap' # 如果你想使用Bootstrap样式 ...

    Rails实现的简历系统

    Rails提供了一些插件,如`will_paginate`或`kaminari`,它们提供了一种优雅的方式来分页查询结果,提高用户体验。 6. **日历**:为了展示时间相关的简历信息,如工作经验或项目日期,可以使用像`fullcalendar-rails...

    ruby on rails API

    Rails提供了`kaminari`或`will_paginate`等插件实现分页,而`ransack`可以让用户通过复杂的查询条件过滤数据。 9. 测试:测试是API开发不可或缺的部分。Rails提供TDD(Test-Driven Development)工具如RSpec和...

    JavaEye3.0开发手记

    will_paginate** - **作用**:为Rails内置的分页功能提供更好的替代方案。 #### 五、文档与帮助资源 **1. fastri** - **功能**:加速 Ruby 文档查询的速度。 - **安装**:通过命令`gem install fastri`安装。 -...

Global site tag (gtag.js) - Google Analytics