#9 楼 @JIAZHEN 确实,我之前也想过办法,想用这 10 条数据显示到第 40 页。我的方案是在这 10 条数据之前插入 index 1 - 39 页的空值,即 39 * 10 = 390 个空值。这样 array 的 size 就可以满足将这 10 条数据显示到第 40 页的需求。
但是如果需要显示第 1000 页,就需要插入 1000 * 10 = 10000 个空值,这样效率太低。
1 您说 architecture 层面的实现方式不好,意思是否是说 API 返回一个长度为 10 的 array 的方式不好呢?
2 在采用 API 返回数据的情况下,您有什么好的方案来解决这个问题吗?
#6 楼 @JIAZHEN API 返回的确实是 10 条数据,但问题是没法将这 10 条数据显示在第 40 页上。
问题具体描述如下:
·@value = array.paginate(:per_page => per_page, :page => page, :total_entries => total_length)·
我将第 40 页的 10 条数据存到 array 中,参数 per_page = 10, page = 40, total_length = 1000,这种情况下网页显示第 40 页数据为空,因为此时@value的值为 nil. 如果我将前 40 页的所有 400 条数据保存在 array 中,网页则可以正常显示第 40 页数据。
谢谢!
#5 楼 @small_fish__ api 返回的就是一页的 10 条数据,问题是前端如何使用这一页的数据显示在第 40 页上。