will_paginate 是否支持非 model 的数据进行分页?
比如我调用一个远程的 api.他会给我返回我当前页的数据。 我现在想使用 will_paginate 来处理下面的分页栏,以便在系统中统一。 所以想请教一下 will_paginate 是否支持这样子的情况? 或者其它的 gem?
支持:
array.paginate(:page => xx, :per_page => xxx)
will_paginate 和 kaminari 都支持对数组对象分页
对于普通的数组通过以下方法将其分页 Kaminari.paginate_array(my_array_object).page(params[:page]).per(10)
will_paginate 扩展了 Array,看一下源码就明白啦
https://github.com/mislav/will_paginate/blob/master/lib/will_paginate/array.rb
Hi,@clark 刚试了一下 Kaminari 确是是可以的,但我现在有个问题是我的总页数和总记录数并不是我数组的长度,远程的 api 返回给我的就是当前页的记录。所以我需要手工的设置总页数和总记录数?这个怎么调好置? 我看了下文 档,文 档中说可以将 total_count 设置到 hash 中,这个怎么设置呢?
You can specify the total_count value through options Hash. This would be helpful when handling an Array-ish object that has a different count value from actual count such as RSolr search result.
total_count
count
#5 楼 @cdredfox 看源码 https://github.com/amatsuda/kaminari/blob/master/lib/kaminari/models/array_extension.rb
给 Kaminari.paginate_array方法传递数组,和 :total_count参数。
Kaminari.paginate_array
:total_count
即
Kaminari.paginate_array(my_array_object, :total_count => 100).page(params[:page]).per(10)
楼上的正解,我也要学着多看看源码才行