有这样的需求:
在查询数据列表中,用户可以自己对数据排序,比如把中间的某条数据向上移动一位或向下移动一位,并把这种操作结果保存到数据库中。
得到用户指定的那条数据后,还想得到那一条的前一条和后一条数据,当然是想更新相应字段,用 Rails 的Active Record Query方法如何做到呢?
看了下Active Record Query Interface http://guides.rubyonrails.org/active_record_querying.html
没找到类似previous
、next
的方法。
注:如果用 ID 去查,有相关记录被删除的情况,所以 ID+1、-1 的方案放弃。