我有一个问题是分页我从其他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条记录,因此它可以显示在第一页上,但是从第二页显示它什么都没有。我虽然因为当我们移动到第二页或更多页时,paginate会自行处理以忽略前10条记录。
有人可以提出任何想法吗? 谢谢你的帮助
答案 0 :(得分:0)
这是使用ruby调试器的完美方案,或者在对象的每次迭代期间向记录器吐出值。
首先我假设will_paginate不是问题所以我会调试查看@conflict_cases对象以及传递给paginate()函数的内容,以及每次页面和网站的值['total' ]