2

我的控制器中有一组对象,由 Kaminari 分页:

@pics = Pic.page(params[:page]).per(12).order(sort_column)

我使用 AJAX 请求在同一页面上渲染每组新的 12 张图片,以获得手动无限滚动效果。该位根据对象内的属性sort_column对图片进行排序。most_viewed

我的问题 - 有时,当有许多具有相同most_viewed属性的图片时,即有 10 张图像以“20”作为他们的 most_viewed 值 - 当 AJAX 请求显示新的 12 组时,我将得到重复的对象。

这是我的意思的一个例子......我点击了“加载更多”(我把它留在了演示中),并且当新批次加载时有重复的对象。

Kaminari 上的重复对象

任何帮助将非常感激。提前致谢。

4

1 回答 1

4

您必须对计数和另一列进行排序(id将是最好的),这样 SQL 将返回一个不会更改的列表(因为现在 SQL 不知道如果 X 记录具有相同的计数该怎么办)。

您可以更改.order(sort_column).order("#{sort_column} ASC, id ASC"),它应该可以工作。

于 2013-08-03T18:13:10.740 回答