论坛首页 编程语言技术论坛

rails 分页问题

浏览 3864 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-02-04  
在程序里面有一个array。
里面装着里面装的杂七杂八的东西。
虽然都是根据Model.find()得到的。
但是却是从几个不同的model(table)中得到的。
然后根据某个特定的关系,选定顺序的放进去的。
个别页面比较大。想做一下分页。
自己简单写了一个。只支持上一页,下一页之类的东西。
不像will_paginate插件那么完美。
但是可以用了。
因为其他地方都是用的will_paginate,所以这里感觉比较奇怪。
因为array是由多个model中的数据组成的。
所以,用 Model.paginate :conditions=>......
应该不行吧。


不知道will_paginate可不可以直接对一个array分页呢?

   发表时间:2008-02-04  
网上好像有如何对数组,hash进行分页的,不过都挺麻烦。
0 请登录后投票
   发表时间:2008-02-04  
will_paginate已经给Array添加了paginate(page = 1, per_page = 15)
方法,并可以配合其view helper使用(如果不嫌太费内存的话),用法就如Model.paginate()的结果一样。
0 请登录后投票
   发表时间:2008-02-05  
rainchen 写道
will_paginate已经给Array添加了paginate(page = 1, per_page = 15)
方法,并可以配合其view helper使用(如果不嫌太费内存的话),用法就如Model.paginate()的结果一样。

十分感谢。问题已经解决了。另外,我找到了这个。大家可以看看。
http://www.desimcadam.com/archives/8
0 请登录后投票
   发表时间:2008-02-05  
哇,楼主也在akl么?我想知道你是否在做rails的工作?能不能留下联系方式?
0 请登录后投票
   发表时间:2008-02-12  
Auckland 写道
十分感谢。问题已经解决了。另外,我找到了这个。大家可以看看。 http://www.desimcadam.com/archives/8


will_paginate正是接纳了他的提议,可参见 will_paginate/lib/will_paginate/core_ext.rb:

require 'will_paginate/collection'

unless Array.instance_methods.include? 'paginate'
  # http://www.desimcadam.com/archives/8
  Array.class_eval do
    def paginate(page = 1, per_page = 15)
      WillPaginate::Collection.create(page, per_page, size) do |pager|
        pager.replace self[pager.offset, pager.per_page].to_a
      end
    end
  end
end

在其blog评论中也可看到 Chris 的回复。
0 请登录后投票
   发表时间:2008-02-13  
如果能用sql得出那个array,还是尽量用 paginate_by_sql
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics