Activerecord:重新排序项目并插入位置

时间:2015-05-26 20:55:15

标签: ruby-on-rails activerecord

我有一张包含一些记录的表格(约有20条记录)。

我需要管理这个表的顺序,所以我添加了一个"位置"领域。

你知道宝石是否准备好了吗?

我知道Act as List但它需要这样的数据模型:

db.quest.aggregate(
   [
      {$unwind: '$questionList'}, 
      {$match: {'questionList.type': 'hard'}}, 
      {$group: 
         {
            _id: {
                    _id: '$_id', 
                    testpaperid: '$testpaperid', 
                    testpaperNo: '$testpaperNo'
                 }, 
            questionList: {$push: '$questionList'}
          }
       }, 
       {$project: {
                     _id: '$_id._id', 
                     testpaperid: '$_id.testpaperid', 
                     testpaperNo: '$_id.testpaperNo', 
                     questionList: 1
                  }
       }
   ]
)

我的数据模型是

class TodoList < ActiveRecord::Base
  has_many :todo_items, -> { order(position: :asc) }
end

class TodoItem < ActiveRecord::Base
  belongs_to :todo_list
  acts_as_list scope: :todo_list
end

ContentShare是一个巨大的表格,所以我不想在该表中管理位置,而是直接在Feed中管理,只有20个元素。

1 个答案:

答案 0 :(得分:0)

寻找宝石的最佳位置是https://www.ruby-toolbox.com/ - 几乎所有内容都有类别,包括sortable active record models