【问题标题】:Kaminari: paginating a list of removable itemsKaminari:对可移动项目列表进行分页
【发布时间】:2016-04-23 13:32:29
【问题描述】:

听起来应该是一个常见问题,但我找不到任何相关信息。

设置: 我有一个分页的项目列表;每个项目都有一个remote: true"Delete" button,因此可以使用remote ajax 请求删除任何项目。

问题: 一旦您删除了第一页上的许多项目,转到下一页将导致您丢失许多项目。

例如对于 30 个项目,每页 10 个项目,删除第一页上的 2 个项目并转到第 2 页将导致您看到项目 #12-22。 (因为项目 10-12 现在显示在第一页上,而不是我们刚刚删除的位置。)

我目前的想法是每次删除一个项目时将下一个项目附加到列表的末尾,这样我们每页总是有 10 个项目,但我很想知道是否有更好/更简单的处理这个问题的方法。

【问题讨论】:

    标签: ruby-on-rails ruby pagination kaminari


    【解决方案1】:

    我认为这是正确的想法。删除对象后,您应该使用 ajax 重新加载整个列表+分页。

    大型动态网站处理此问题的方式是在给定结果后向您显示结果,而不是仅仅抵消页面上的任何数量的项目。

    很好的例子可能是 Reddit,如果您转到第二页,您的 url 将类似于https://www.reddit.com/?count=25&after=t3_41fk8j,其中最后一个值是上一页上过去帖子的哈希值。

    【讨论】:

    • 是的,我最终只是将下一页偏移了当前页面的最后一项。事实证明,附加项目要复杂得多,尤其是在无限滚动的情况下。 (并且重新渲染所有内容不是一种选择,在无限滚动的情况下太耗费资源了。)
    猜你喜欢
    • 1970-01-01
    • 2012-02-04
    • 2016-02-06
    • 1970-01-01
    • 2012-11-24
    • 2011-07-06
    • 2013-08-16
    • 2012-07-18
    • 1970-01-01
    相关资源
    最近更新 更多