如何在Rails中实现行排序?

时间:2010-02-15 21:57:54

标签: ruby-on-rails activerecord

我正在尝试为列表页面实现用户界面功能,用户可以更改他们创建的记录的顺序。

我假设有一种方法可以存储一个带有某种可编辑自动增量规则的位置字段;然后,当用户提升或降低位置时,可以交换行的位置值。但是我不太确定如何做到这一点,我仍然是一个Rails新手。

我还应该提一下,我正在尝试避免将我绑定到特定数据库的解决方案。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

acts_as_list是此处的标准解决方案。您的模型中将有一个position列,用于保存订单。

答案 1 :(得分:2)

这是对上面接受的答案的补充/补充。

acts_as_list不是为原型之外的任何东西设计的,开箱即用它根本不处理并发或数据完整性。至少,您必须将隔离级别设置为可序列化!这是一个short screen cast,其中包含更多信息和一些解决方法。