我正在尝试将 will_paginate 用于 Rails 3.2 应用程序,但我在任何地方都没有看到任何参考,说明当数据库中的数据发生更改时有人进行分页时会发生什么。更具体地说,添加了新记录。
我可能在这里遗漏了一些东西,但如果我知道它是如何工作的,will_paginate 只会计算数据库中的记录。假设我一次加载一个包含 5 条记录的页面,并希望它们按最新的排序。用户加载页面并获取显示在第 1 页的记录 6-10(当时的最新记录)。然后,有人将另一条记录插入到表中,id=11。之后,第一个用户点击进入第 2 页,但现在第 2 页提供记录 2-6。所以用户在两个页面中都得到了 id=6。
这个问题听起来并没有那么糟糕,但如果你想使用 will_paginate 分页进行无限滚动,这真的很糟糕,如下所示:http ://railscasts.com/episodes/114-endless-page
我考虑添加第一个页面加载的时间戳并将其传递给连续的 ajax 调用以过滤最初存在的记录,以免重复。
是否有一些最佳实践方法来处理这个问题?