Как сохранить расположение ячеек с ActiveRecord
Я создаю приложение Rails с панелью, состоящей из отсортированной коллекции ячеек. Конечная цель состоит в том, чтобы позволить пользователю упорядочить ячейки и сохранить их в базе данных, но я не могу понять архитектуру, необходимую для этого.
Меня меньше беспокоит UI/UX перетаскивания ячеек, и я больше озабочен моделями, необходимыми для представления этого в базе данных SQL с ActiveRecord.
Любая помощь будет оценена. Спасибо!
1 ответ
Это довольно решенная проблема, есть множество драгоценных камней, которые справятся с этим для вас.
Обычно вы добавляете в таблицу целочисленный столбец "position" и сортируете по нему при выборе записей. Если вы хотите переместить элемент A на новую позицию после элемента B, сначала добавьте 1 позицию всех записей, отсортированных после B, чтобы освободить место для A, а затем установите позицию A на B.position + 1 Таким образом, сортировка включает только две записи.