Dav*_*cio 8 ruby activerecord ruby-on-rails ruby-on-rails-3
在尝试使用id排序(和分页)时,从日志中获取:
SELECT `audits`.* FROM `audits` ORDER BY version, id DESC LIMIT 50 OFFSET 0
Run Code Online (Sandbox Code Playgroud)
我目前正在使用此代码:
@records = Audit.order("id DESC").page(page).per(50)
Run Code Online (Sandbox Code Playgroud)
问题是检索到的列表没有按id降序正确排序.
顺便说一句,我使用audited-activerecord gem进行审核,这有关系吗?
Nic*_*gan 17
我猜你的gem正在按版本排序的Audit模型上设置默认范围,所以目前它是按版本列按升序排序,并且,只有当两个记录相同时,才按顺序排序id按降序排列.
要解决此问题,您可以unscoped在您的链上添加前缀:
Audit.unscoped.order("id DESC").page(page).per(50)
Run Code Online (Sandbox Code Playgroud)
尝试:
@records = Audit.except('order').order("id DESC").page(page).per(50)
Run Code Online (Sandbox Code Playgroud)
在except('order')应该删除添加到查询任意顺序关系
| 归档时间: |
|
| 查看次数: |
17131 次 |
| 最近记录: |