neo*_*eon 5 mysql pagination ruby-on-rails ruby-on-rails-3 kaminari
我试图分页一个洗牌的ActiveRecord查询.使用Kaminari gem执行此操作的语法是:
@users = Kaminari.paginate_array(User.all.shuffle).page(params[:page]).per(20)
Run Code Online (Sandbox Code Playgroud)
这个问题是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)
Run Code Online (Sandbox Code Playgroud)
并在视图中将params [:seed]添加到页面的所有kaminari链接
| 归档时间: |
|
| 查看次数: |
1315 次 |
| 最近记录: |