Kaminari中重复的物体

时间:2013-08-02 16:35:07

标签: ruby-on-rails ajax arrays pagination kaminari

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

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

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

我的问题 - 有时候,当有许多具有相同most_viewed属性的照片时, - 即有10张图像以“20”作为其最受欢迎的值 - 我会在新的集合中获得重复的对象使用AJAX请求显示12。

这是我的意思的一个例子......我点击了“加载更多”(我已将其留下来进行演示),并且在新批次加载时会重复对象。

repeated objects on Kaminari

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:3)

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

您可以将.order(sort_column)更改为.order("#{sort_column} ASC, id ASC"),它应该有效。