gpt4 book ai didi

mysql - 对打乱的 ActiveRecord 查询进行分页

转载 作者:可可西里 更新时间:2023-11-01 07:02:54 24 4
gpt4 key购买 nike

我正在尝试对一个打乱的 ActiveRecord 查询进行分页。使用 Kaminari gem 执行此操作的语法是:

@users = Kaminari.paginate_array(User.all.shuffle).page(params[:page]).per(20)

问题在于 User.all 在每次分页请求时都会重新排列,导致调用重复的记录。有什么办法可以防止这种重复?

最佳答案

您需要在查询之间为 rand 传递种子

params[:seed] ||= Random.new_seed
srand params[:seed].to_i
@users = Kaminari.paginate_array(User.all.shuffle).page(params[:page]).per(20)

并在 View 中将 params[:seed] 添加到页面的所有 kaminari 链接

关于mysql - 对打乱的 ActiveRecord 查询进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9967100/

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