2017-07-05 37 views
0

我用will_paginate和ajax实现无限滚动。每当我按下“加载更多”的元素,它就会带给我集合中接下来的4个元素。目前,一切都很好。但是,当我删除某个页面的某个元素时,下一页已经在“加载更多”按钮中建立;因此,下次按“加载更多”按钮时,会跳过一个元素。有谁知道我该如何解决这个问题? (对不起我的英文)使用will_paginate进行无限滚动。问题删除元素

+0

这个问题有点不清楚,你是说当你从页面中删除一个元素时,下一个加载页面不正确? –

回答

1

分页宝石在你的用例中不能很好地工作。

解决这个问题的最简单方法是:如果您有一个由例如排序的元素列表, id,在你的下一页请求中发送当前页面最后一个元素的id,并用它来抵消下一页。

0

正在发生的事情是,分页并不急于装载下一组,而是在做一个偏移计数

initial index + page_length * (page number - 1) 
limit page_length 

当你删除它向前后移动它的每一个元素的索引的元素数据库为这个查询。这会使前端元素索引处于与后端不同的状态。

您需要重新加载每个以包含已删除元素的页面开始的“页面”,并且工作到最新加载的“页面”以使前端具有与后端相同的元素索引。