首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby on Rails控制台在DB中移动行

问Ruby on Rails控制台在DB中移动行
EN

Stack Overflow用户
提问于 2015-09-18 20:29:43
回答 2查看 64关注 0票数 1

我正在制作一个网页,我在其中迭代一个行的数据库,它是顺序敏感的。结果是,当我播种条目时,我在一行中的一个值中犯了一个错误,所以我去控制台修改它。一旦我输入'project.save‘,它将该行移到表的底部,从而破坏了我的订单。如何将最后一行移动到表的顶部,并将每一行向下推一行?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-18 20:45:41

ActiveRecord的默认排序是"Updated“。它不会更改数据库中行的位置。

只需将默认范围更改为"id“即可。

只需将这一行添加到您的模型中,默认的是您的id。

代码语言:javascript
复制
default_scope { order(:id) }

要获得更好的解决方案,请在模型中添加一个位置,然后按此进行排序。

代码语言:javascript
复制
 default_scope { order(:position) }

这是Rails 4的语法,对于Rails 3和Rails 2是不同的。

票数 0
EN

Stack Overflow用户

发布于 2015-09-18 20:43:42

答案是在select语句中使用'命令由‘子句。没有这些,MySQL就不能保证结果会按任何顺序进行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32660536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档