`
johnnyhg
  • 浏览: 348109 次
  • 来自: NA
社区版块
存档分类
最新评论

应用WillPaginate分页

阅读更多

WillPaginate这个插件很棒,以至于其取代了Rails中原有的Paginate方法,虽然看上其很简单,其实还是有不少技巧的,本篇用来记录我遇到的或者使用到的一些tips。

1.直接使用paginate
这个比较简单,也是使用的最多的,如下:

Ruby代码
  1. def   self .get_all_items_in_catelog( catelog_id,page,per_page= "10" )  
  2.   paginate :per_page  => per_page,  :page  => page,  
  3.     :conditions  =>[ "catelog_id = ? and caiji > 0" ,catelog_id],  
  4.     :order  =>  'created_at DESC ,updated_at  DESC'   
  5. end  

 2.使用Model.paginate_by_sql
有的时候,你需要的SQL用Rails拼的时候有些不方便,这个时候可以考虑使用paginate_by_sql来实现,这个没啥好说的,你需要什么样的SQL直接写就可以了,例如:
  #排行榜列表

Ruby代码
  1. def   self .get_all_items_in_rank(rank_id, page,per_page= "10" )  
  2.     Book.paginate_by_sql ["SELECT DISTINCT `books`.* FROM `books` LEFT OUTER JOIN `ranksorts`
  3. ON (`books`.`prodid` = `ranksorts`.`prodid`) LEFT OUTER JOIN `ranks` 
  4. ON (`ranks`.`id` = `ranksorts`.`rank_id`) WHERE (ranks.id = ?)
  5. ORDER BY books.updated_at DESC,books.created_at DESC" , rank_id],  
  6.       :page  => page,  :per_page  => per_page  
  7. end   

还有其他的一些小技巧,慢慢添加,你如果有类似的技巧,期待您的分享。。

分享到:
评论

相关推荐

    Ruby-willpaginate一个分页库可与RubyonRailsSinatraMerbDataMapper和Sequel集成

    **Ruby on Rails** 是一个流行的全栈 web 应用框架,`will_paginate` 与其集成后,可以轻松地在 ActiveRecord 查询中实现分页功能。例如,只需一行代码,开发者就能将数据库查询结果分页: ```ruby @posts = Post....

    关于rails学习中分页的示例

    在Rails中,最常用的分页库是`Kaminari`和`WillPaginate`。这里我们将以`Kaminari`为例进行讲解,因为它是近年来更受欢迎的选择,且具有简洁的API和良好的社区支持。 1. **安装Kaminari** 在Gemfile中添加`...

    Rails的自动完成分页插件

    在Rails中,Kaminari和WillPaginate是两个广泛使用的分页库。它们允许开发者轻松地在页面间导航,并限制每次加载的数据量,提高页面性能。分页插件通常通过简单的API集成到控制器和视图中,提供友好的URL结构和可...

    will_paginate分页插件

    **will_paginate分页插件详解** 在Web开发中,数据分页是一项常见的需求,它可以帮助用户更有效地...在实际项目中,结合`will_paginate`的高级用法,我们可以创建出高效、友好的分页界面,提升用户在Web应用中的体验。

    elasticsearch-rails:用于ActiveModelRecord和Ruby on Rails的Elasticsearch集成

    支持Kaminari和WillPaginate分页 与Rails的仪器框架集成 用于生成示例Rails应用程序的模板 Elasticsearch 项目提供了Elasticsearch客户端和Ruby API。 安装 从安装每个库: gem install elasticsearch-model gem ...

    scaffolding+will_paginate+提供will_paginate下载

    而`will_paginate`则是一个非常流行的分页库,它与`scaffolding`结合使用,能够为你的Rails应用添加优雅的分页功能。 `will_paginate`库由Matias Berezin创建,它的设计简洁且易于使用。它不仅提供了分页的基本功能...

    will_paginate插件下载

    include WillPaginate::ModelMethods end ``` 3. 查询分页数据:在控制器中,使用`paginate`方法查询分页数据: ```ruby @posts = Post.paginate(page: params[:page], per_page: 20) ``` 这里,`page`参数表示...

    will_paginate v2.3.11

    - **自定义分页类**:如果你需要更复杂的逻辑,可以创建自定义分页类并继承`WillPaginate::Collection`。 ### 总结 will_paginate v2.3.11作为一款强大的Rails分页插件,以其简洁的API、良好的兼容性和高度的可...

    will_paginate 2.1.0

    9. **可扩展性**:如果默认的分页行为不满足需求,开发者可以通过继承和重写 `WillPaginate::ViewHelpers` 的方法来自定义分页逻辑。 在 `mislav-will_paginate-94de8c93973c2ac4fa27f75c2b03b135ed854264` 这个...

    will_paginate 2.2.2

    `will_paginate 2.2.2`是Rails应用程序中用于处理数据分页的一个强大工具。通过简洁的API,开发者可以轻松地实现高效的数据加载,提高用户体验,同时减轻服务器负担。虽然现在有更新的版本可供选择,但对于旧项目,...

    WillPaginateExample:Ruby on Rails的Will_Paginate示例

    它提供了简洁、灵活的API,使得在Rails应用中实现数据库查询结果的分页变得简单易行。在本篇文章中,我们将深入探讨`Will_Paginate`的原理、安装、使用方法以及一些高级特性。 ### 1. 安装 要在Rails项目中使用`...

    awesome-rails-gem-zh_CN, Rails 常用 Gem 列表 - Awesome Rails Gem 中文版.zip

    12. **Kaminari** 和 **WillPaginate**:分页插件,帮助处理大量数据的显示。 13. **Ransack**:提供强大的搜索和过滤功能,让用户可以根据需要自定义搜索条件。 14. **SimpleForm** 和 **Formtastic**:简化Rails...

    rails api(文档)

    4. **分页和过滤**:在构建API时,通常需要支持分页和过滤数据。Rails API可以通过Gem(如Kaminari或WillPaginate)轻松实现这些功能。 5. **版本控制**:API的版本控制很重要,Rails API允许你为不同版本的API创建...

Global site tag (gtag.js) - Google Analytics