0

我在对从其他 Web 服务请求以获取数据的记录进行分页时遇到问题。当我提出请求时,我会得到一些数据(不是全部,因为如果我得到所有数据就会太大)和记录总数。will_paginate 似乎只能显示第一页,而从第二页开始什么也不显示。

page  = params[:page]? params[:page]:1
@fields = ConflictCase.get_fields
sites = ConflictCase.get_paging_sites_from_service(10, (page.to_i - 1)) #this will request data from other webservice that I limit only 10 records
@conflict_cases = ConflictCase.transform(sites["sites"], @fields)
@conflict_cases = @conflict_cases.paginate(:page => page, :per_page => 10, :total_entries => sites["total"].to_i)

问题是我总是只得到 10 条记录,因此它可以显示在第一页上,但从第二页开始它什么也没有显示。我虽然因为将分页会在我们移动到第二页或更多页时自行忽略前 10 条记录。

有没有人可以提出任何想法?感谢您的帮助

4

1 回答 1

0

这是使用 ruby​​ 调试器的完美场景,或者在对象的每次迭代期间向记录器吐出值。

首先我会假设 will_paginate 不是问题,所以我会调试以查看 @conflict_cases 对象和传递给 paginate() 函数的内容,以及每次页面和站点的值['total']。

于 2013-08-27T03:33:34.160 回答