我需要查找特定资源的所有记录并以随机顺序显示它们,但是具有一致的分页(如果开始分页,则不会看到相同的记录两次).每次用户访问页面时,显示顺序应该是随机的.我正在使用 will_paginate.有什么建议?
将随机数存储在用户会话cookie中,然后将其用作数据库随机函数的种子.在用户关闭浏览器之前,这将是相同的,因此他们都会看到随机,一致的记录:
获取一个大的随机数:
cookies[:seed] = SecureRandom.random_number.to_s[2..20].to_i
Run Code Online (Sandbox Code Playgroud)
使用例如MySQL的种子:
SomeModel.all.order("RAND ?", cookies[:seed])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1815 次 |
| 最近记录: |