允许用户订购模型的最有效方法是什么?

时间:2011-02-26 09:05:17

标签: ruby-on-rails ruby-on-rails-3

我有一个note模型。 user有很多notes。目前,notesdate排序,然后按created_at排序。

我想让用户能够自己订购笔记(在一个日期内)。

例如,如果这是当前显示的方式:

Date1
    note1,note2,note3
Date2
    note4
Date3
    note5,note6

用户可以按如下方式重新排序:

Date1
    note3,note1,note2
Date2
    note4
Date3
    note6,note5

在Rails中实现此功能的最有效方法是什么?我应该使用链表吗?或其他什么?

我正在使用Rails 3.0.1和Ruby 1.9.2

2 个答案:

答案 0 :(得分:0)

我的偏好是直接在模型中执行此操作并让数据库处理排序,因此我通常会添加order_by字段。当用户重新排序列表时,代码只需调整order_by字段以反映新的排序。

答案 1 :(得分:0)

我认为我会给它一个位置属性。因此,最初:

note1 - > 1 note2 - > 2 note3 - > 3 note4 - > 4 note5 - > 5

如果我想让note5获得2的位置,我只需要交换位置属性。