【问题标题】:Repeated objects in KaminariKaminari 中的重复对象
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-07-07
    • 2018-07-12
    • 2016-07-08
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2013-06-03
    相关资源
    最近更新 更多