0

我正在构建一个带有仪表板的 Rails 应用程序,该仪表板由已排序的单元格集合组成。最终目标是允许用户排列单元并将其保存到数据库中,但我无法理解实现这一点所需的体系结构。

我不太关心拖放单元格的 UI/UX,而更关心使用 ActiveRecord 在 SQL 数据库中表示这一点所需的模型。

任何帮助,将不胜感激。谢谢!

4

1 回答 1

1

这是一个很好解决的问题,有许多 gem 可以为你处理这个问题。

通常,您会在表中添加一个“位置”整数列,并在选择记录时按此排序。当你想将一个项目A移动到项目B之后的一个新位置时,你首先将排在B之后的所有记录的位置加1为A腾出新的空间,然后将A的位置设置为B.position + 1 . 这样,排序只涉及两次写入。

于 2014-02-17T17:40:44.063 回答