ruby-on-rails – 如何最近在rails中订购数据库记录?
发布时间:2020-12-17 04:01:31 所属栏目:百科 来源:网络整理
导读:我想订购模型Item中的所有项目,以便它首先显示最新的项目.根据 Rails guide,以下代码应该工作: Item.order("created_at DESC") 但是,当我在终端中键入那些(或多种)时,最新的项目总是最后显示,这就是它们在我的页面上显示的方式.我最近如何有效地检索它们?
我想订购模型Item中的所有项目,以便它首先显示最新的项目.根据
Rails guide,以下代码应该工作:
Item.order("created_at DESC") 但是,当我在终端中键入那些(或多种)时,最新的项目总是最后显示,这就是它们在我的页面上显示的方式.我最近如何有效地检索它们? (我将在每页上一次只显示其中一些.) 请注意,我的项目默认范围是最早的. 更新:
所以我想我不应该使用默认范围…… 解决方法
您发布的查询是正确的
Item.order("created_at DESC") 它不起作用的唯一原因是它还有其他任何相互矛盾的原因.通常,冲突由default_scope表示. 如果您的默认范围覆盖了您的订单,则应首先取消查询 Item.unscoped { Item.order("created_at DESC") } 如果您使用默认范围,我强烈建议您避免使用它们.它们很难调试和解决. 极少数情况下默认范围是有意义的.您只需在控制器中的选定时间传递(默认)范围,或为其创建自定义方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容