`
weskycn
  • 浏览: 31424 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

多对多关联分页,用will_paginate插件实现

阅读更多

在做项目的时候碰到这样一个问题,有两个模型:category和content,他们是多对多的关联,他们的关联模型是categoring

我要做的是根据某个特定的category来检索content,并对content分页。

Controller的代码:

  1. @category = Category.find(params[:id])   
  2. content_ids = @category.categorings.collect{|categoring| categoring.content_id}      
  3.                                    #首先取出中间表里该模型的记录集合(数组)   
  4.     if !(content_ids == [])        #然后判断该集合是否为空,如果为空则不做查询分页   
  5.       @contents = Content.paginate(:all,
  6.                                    :conditions => "id IN (#{content_ids.join(',')})"
  7.                                    :page => params[:page], :per_page => 2)        
  8.                                    #如果不为空则对关联表进行分页(利用will_paginate插件)   
  9.     end  

 然后就可以在views中利用<!---->进行分页了。

  • 描述: 效果图
  • 大小: 9.9 KB
分享到:
评论
2 楼 weskycn 2008-02-28  
这个办法不错,
1 楼 liuqiang 2008-02-20  
@category = Category.find(params[:id])   
contents = @category.contents   
@contents = Content.paginate :all,
:conditions => ["id IN (?)",contents] ,
:page => params[:page], :per_page => 2     貌似也可以  
                                  

相关推荐

    will_paginate分页插件

    **will_paginate分页插件详解** 在Web开发中,数据分页是一项常见的需求,它可以帮助用户更有效地浏览大量信息,提高用户体验。Rails框架中,`will_paginate`是一个非常流行且强大的分页插件,它简洁易用,功能强大...

    will_paginate插件下载

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

    will_paginate 2.2.2

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

    will_paginate-bootstrap, 将 Twitter Bootstrap 分页组件与will_paginate集成.zip

    will_paginate-bootstrap, 将 Twitter Bootstrap 分页组件与will_paginate集成 will_paginate-bootstrap不再维护我不再使用 Bootstrap 来使用 Rails,所以不幸的是,我不再接受请求请求或者维护这个库。 为了发布你...

    scaffolding+will_paginate+提供will_paginate下载

    3. **模型中启用分页**:在需要分页的模型中,使用`has_many :through`或`has_and_belongs_to_many`关联时,需要在关联上添加`:finder_sql`选项,以便`will_paginate`可以正确处理分页。 4. **控制器中设置分页参数...

    will_paginate v2.3.11

    will_paginate v2.3.11作为一款强大的Rails分页插件,以其简洁的API、良好的兼容性和高度的可定制性,极大地简化了分页功能的实现。无论你是初学者还是经验丰富的开发者,都能从中受益。在实际项目中灵活运用will_...

    will_paginate 2.1.0

    以下是对 `will_paginate` 插件在 `2.1.0` 版本中核心功能的详细解释: 1. **简单的API**:`will_paginate` 提供了一个直观且简洁的 API,使得在视图模板中添加分页链接变得容易。例如,你可以用 `@posts.paginate...

    rails 2.0.2 分页 需另外下载插件

    为了实现分页,开发者通常需要安装并使用第三方插件,比如"will_paginate"。这个插件允许你在Rails应用中轻松地对数据进行分页显示,提高用户体验并减轻服务器压力。 **1. will_paginate插件介绍** `will_paginate`...

    will_paginate_endless_scroll_example:如何使用 will_paginate gem 创建无限滚动的演示

    使用gem 'will_paginate', '~&gt; 3.0.7'实现无限/无限滚动的工作 Rails CRUD 应用程序示例。 gem 'faker'被用来为项目gem 'faker'虚假数据。 演示 现场演示: : 在本地开发中安装 克隆回购: git clone git@github...

    will_paginate:用于Rails,Sinatra,Merb,DataMapper等的分页库

    will_paginate will_paginate是一个分页库,与Ruby on Rails,Sinatra,Hanami :: View,Merb,DataMapper和Sequel集成。 安装: ## Gemfile for Rails 3+, Sinatra, and Merbgem 'will_paginate' , '~&gt; 3.1.0' 有关...

    will_paginate-bootstrap4:钩入will_paginate以格式化html以匹配Twitter Bootstrap 4样式

    Rails Engine扩展了样式以匹配Twitter的 4工具包中的分页样式约定。 安装 添加到您的Gemfile: gem 'will_paginate-bootstrap4' 用法 &lt;&#37;= will_paginate @clients, renderer: WillPaginate::ActionView::...

    WillPaginateExample:Ruby on Rails的Will_Paginate示例

    在模型中,`will_paginate`方法用于对ActiveRecord查询进行分页: ```ruby @posts = Post.paginate(page: params[:page], per_page: 25) ``` 这里`page: params[:page]`指定了当前页码,通常从URL参数获取。`per_...

    ruby on rails 常用插件下载

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

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

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

    ruby will_paginate的用法

    新版本的will_paginate已经抛弃了这样的做法,转而使用gem的方式,本文通过建立一个名为foobar的应用来了解一下will_paginate的用法。 ============================== C:\&gt;rails foobar -d mysql C:\&gt;cd foobar C:\...

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

    Ruby-on-Rails、Sinatra、Merb、DataMapper 和 Sequel 这些都是 Ruby 开发领域中的关键组件,而 `will_paginate` 是一个在这些框架中广泛使用的分页库。它提供了简单、灵活的接口,帮助开发者在处理大量数据时进行...

    jquery.paginate插件源码改造:支持动态分页

    然而,原始版本的paginate在数据量巨大时,一次性加载所有数据可能会导致性能问题,因此我们需要对其进行改造,实现按需加载,即动态分页。 动态分页的核心是只在需要时加载数据。为此,我们需要在插件内部添加一个...

    jQuery paginate分页导航插件ajax分页代码

    在本篇文章中,我们将深入探讨如何使用jQuery paginate插件来实现ajax分页。 首先,让我们了解jQuery paginate插件的基本概念。该插件提供了一种灵活的方式来创建美观且功能强大的分页导航。它支持自定义样式和多种...

Global site tag (gtag.js) - Google Analytics