gpt4 book ai didi

ruby-on-rails-3 - will_paginate 生成错误数量的页面链接

转载 作者:行者123 更新时间:2023-12-03 23:37:53 25 4
gpt4 key购买 nike

我正在使用将分页 3.0.2 和 Rails 3.1.0。

以下代码位于我的 Controller 中。

  @users = User.visible_for(current_user).
includes(:study_courses).
ordered_by_last_name.
page(params[:page]).per_page(20)

在局部 @users已分配给 users从上面我做:
= will_paginate users, previous_label: h("<"), next_label: h(">") 

如果有 20 个用户,它会给我 6 个页面链接,其中第一页包含 20 个用户,第二页包含 10 个用户,当然其余页面包含零个用户。

我不明白为什么生成了 6 个页面链接而不是 3 个。

更新:
发现 will_paginate 不使用 distinct 来计算记录。任何想法如何做到这一点?

最佳答案

好的,我自己找到了解决方案:

  user_count = User.visible_for(current_user).count(distinct: true)
@users = User.visible_for(current_user).
includes(:study_courses).
ordered_by_last_name.
paginate(page: params[:page],
per_page: 20,
total_entries: user_count)

在我的范围内,我使用distinct,但调用 count在关系上似乎覆盖了那个。因此,必须手动计数并将计数传递给 paginate 方法。

关于ruby-on-rails-3 - will_paginate 生成错误数量的页面链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7939719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com