Ruby 使用ranked-model Gem來做排序動作
在這介紹ranked-model使用Gemfile安裝
gem 'ranked-model'
在你要用的model 裡面加入以下這樣才可以使用到排序作用
include RankedModel
ranks :row_order
在要用的 model 新增欄位
至於為什麼要新增名字為row_order是因為官方只認這個欄位
add_column :tableName, :row_order, :integer
在使用migration設定row_order的值order的地方加上索引加快搜尋動作
官方文件記載以下排序方式都可以使用
:first 位於第一個 , :last最後 , :up 向上一位 , :down向下一位
TableName.find_each do |e|
e.update( :row_order_position => :last )
end
add_index :TableName, :row_order
@groups = Group.rank(:row_order).all這樣就完成了。