我正在尝试为Rails 3.2应用程序使用will_paginate,并且我没有在任何地方看到任何引用,当有人正在分页时db分页中的数据发生更改时会发生什么。更具体地说,新的记录被添加。Rails will_paginate和ajax,在数据库表更改时进行分页
我可能会在这里丢失一些东西,但如果我知道它是如何工作的,will_paginate只是对DB中的记录进行计数。 假设我一次加载一个包含5条记录的页面,并希望它们按最新的第一条排序。 用户加载页面并获取显示在页面1的记录6-10(当时最新的记录)。然后,某人将另一条记录插入表中,id = 11。之后,第一个用户点击进入第2页,但现在第2页显示2-6记录。所以用户在两页中获得了id = 6。
这个问题听起来并不坏,但它是非常糟糕的,如果你想使用will_paginate分页对于无限滚动如下所示:http://railscasts.com/episodes/114-endless-page
我想过将第一页面加载的时间戳记并将其传递给连续的ajax调用,以便对首先出现的记录进行过滤,以避免重复出现。
有没有一些最佳实践方法来处理这个问题?
我使用时间戳来获取只有在第一次加载页面时出现的数据。 – Oded 2012-08-05 13:13:26
在这种情况下,您可能需要考虑添加一个检查,以确定是否有任何记录比时间戳更新,如果是,则显示允许用户加载更新结果的链接(请参阅Twitter如何执行此操作,例)。 – Benissimo 2013-04-16 09:32:48