【发布时间】:2013-08-02 16:35:06
【问题描述】:
我的控制器中有一组对象,由 Kaminari 分页:
@pics = Pic.page(params[:page]).per(12).order(sort_column)
我使用 AJAX 请求在同一页面上渲染每组新的 12 张图片,以获得手动无限滚动效果。 sort_column 位根据对象内的most_viewed 属性对图片进行排序。
我的问题 - 有时,当有许多图片具有相同的 most_viewed 属性时, - 即有 10 张图片的“20”作为它们的 most_viewed 值 - 当新的 12 组是通过 AJAX 请求显示。
这是我的意思的一个例子......我点击了“加载更多”(我把它留在了演示中),当新的批次加载时有重复的对象。
任何帮助将不胜感激。提前致谢。
【问题讨论】:
-
你必须按计数和另一列排序(id 最好),这样 SQL 将返回一个不会改变的列表(因为现在 SQL 不知道如果 X 该怎么做记录具有相同的计数)。您可以将
.order(sort_column)更改为.order("#{sort_column} ASC, id ASC"),它应该可以工作;) -
这成功了!问题解决了...非常感谢。如何将评论标记为回答问题?
标签: ruby-on-rails ajax arrays pagination kaminari