用于管理列表的 ActiveRecord 插件。
作为“作为列表”和“排名模型”两个宝石的维护者,我已经非常熟悉它们各自的优点和缺点。我最终为最近一个项目编写了一个小型的 Rails 关注,用于定位数据库行,效果非常好,因此我决定将其发布为一个宝石:Positioning。
定位的工作原理与"作为列表"类似,它维护了整数值的顺序列表作为位置。不同之处在于,它鼓励对位置列设置唯一约束,并支持每个数据库表中的多个列表。它借鉴了"有序模型"中的相对定位概念。我建议您查看它,并在项目中尝试使用它!
从 0.8.0 开始,存在一些行为上的变化:
add_new_at: :top, 新项将像往常一样添加到列表的顶部。但是现在, 如果在插入时指定位置: .create(position: 3), 则位置将被尊重。在本示例中, 该项最终将位于位置 3 并将移动其他项往下。在 0.8.0 之前, 位置将被忽略, 且该项仍将添加到列表的顶部。#220暂无开放 Issues,或尚未同步最近议题。