首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails WillPaginate::集合而不是分页数组

问Rails WillPaginate::集合而不是分页数组
EN

Stack Overflow用户
提问于 2014-05-26 17:27:30
回答 1查看 1.1K关注 0票数 1

正在生成一个现有的数组vparray,然后按照非db列rate进行排序。然后需要对其进行分页:

代码语言:javascript
复制
    @vps  = vparray.sort_by{|e| e.rate}
    @vps = WillPaginate::Collection.create(1, 10, @vps.length) do |pager|
      pager.replace @vps
    end

观点;

代码语言:javascript
复制
<%= will_paginate @vps, :previous_label => "prev ", :next_label => " next" -%>

呈现良好,页数平移,页面显然是第一页。但是,在:<% @vps.each do |product| %>上,entire排序数组正在呈现。

显然,the array can only be populated with values of current page。然而,

代码语言:javascript
复制
   @vps  = vparray.sort_by{|e| e.rate}
   @vps = @vps.paginate(:page => params[:page], :per_page => 10)
   @vps = WillPaginate::Collection.create(1, 10, @vps.length) do |pager|
      pager.replace @vps
    end

是不正确的。实际上,分页命令将找到的设置减少到与per_page相同的数目,因此==仅为1页!

所以我想这条线不应该在那里。视图应该调用正确的结果页。

代码语言:javascript
复制
<% @vps.each do |product| %>

比这更好的

代码语言:javascript
复制
<% @vps.page(params[:page]).each do |product| %>

为WillPaginate::Collection`生成undefined method页面

上下文:Ruby1.9.3,rails 3.2.17,will_paginate 3.0.5

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-27 10:33:09

然后重新读取collection.rb和array.rb库。

主计长声明:

代码语言:javascript
复制
require "will_paginate/array"

@vgps  = vgp.sort_by{|e| e.rate}
@vgps = @vgps.paginate(:page => params[:page], :per_page => 30)

这是排序数组所需的全部内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23875093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档