列を介して ActiveRecord モデルを管理しようとしていpriority:integer
ます。行をafter_update
とafter_create
フックで管理して、順序をきちんと整理したいと考えています。
2 つのニーズがあります。
アイテムの現在のリストを取得し、それらの優先度属性を更新して、厳密な順序に従います。例: 上記の優先度列を持つ 3 つのアイテムのリスト。
[a.priority = 4, b.priority = 66, c.priority = 92]
になる
[a.priority = 1, b.priority = 2, c.priority = 3]
リストの中央に新しい行が追加されたことを反映して、すべての行の優先度を更新します。
[a.priority = 1, b.priority = 2, c.priority = 3, d.priority = 4]
e.priority = 2
新しいリストを作成する[a.priority = 1, e.priority = 2, b.priority = 3, c.priority = 4, d.priority = 5]
github リポジトリ: https://github.com/digitalcake/priority_manager