我正在制作一个网页,我正在迭代行数据库,它对订单敏感。事实证明,当我播种条目时,我在连续的一个值中犯了一个错误,所以我去了控制台来改变它。一旦我进入' project.save'它将那一行移到了表格的底部,从而破坏了我的订单。如何将最后一行移动到表格顶部并将每隔一行向下推一个?
答案 0 :(得分:0)
ActiveRecord的默认排序是“更新时间”。它不会更改数据库中行的位置。
只需将默认范围更改为“id”。
只需将此行添加到您的模型中,默认值就是您的ID。
default_scope { order(:id) }
要获得更好的解决方案,请在模型中添加一个位置,然后按
排序 default_scope { order(:position) }
这是Rails 4语法,它与Rails 3和2不同。