【问题标题】:Rails pagination: How to get the first element of the second pageRails分页:如何获取第二页的第一个元素
【发布时间】:2013-01-09 02:44:35
【问题描述】:

我在 Rails 中使用 will_paginate 进行分页。我有一张装有 99 件物品的桌子。当我尝试使用以下命令获取第二页的第一个元素时:

Item.paginate(page: 2).first

Rails 返回:

#<Item id: 2, ...>

但是,正确的答案应该是:

#<Item id: 32, ...>

有趣的是,在不使用“first”方法的情况下索引结果数组中的第一个元素给出了正确的答案,所以:

Item.paginate(page: 2)[0]

返回:

#<Item id: 32, ...>

为什么?

【问题讨论】:

    标签: ruby-on-rails ruby pagination


    【解决方案1】:

    There appears to be a bug 在 will_paginate 和 .first 方法中。我怀疑您可以通过以下方式解决它:

    Item.paginate(page: 2).all.first
    

    这与您的解决方法类似。

    【讨论】:

    • 我建议您在该错误线程上发表意见。受它影响的人越多,修复它的可能性就越大。
    • 我会做的。感谢您的建议。
    • 他们解决了覆盖 AR 的 first() 方法的问题。
    • 太棒了!看起来他们也发布了一个新版本。
    猜你喜欢
    • 1970-01-01
    • 2020-04-18
    • 2017-03-11
    • 1970-01-01
    • 2021-12-19
    • 2017-10-06
    • 2011-07-23
    • 2020-10-13
    • 1970-01-01
    相关资源
    最近更新 更多