Как сохранить расположение ячеек с ActiveRecord

Я создаю приложение Rails с панелью, состоящей из отсортированной коллекции ячеек. Конечная цель состоит в том, чтобы позволить пользователю упорядочить ячейки и сохранить их в базе данных, но я не могу понять архитектуру, необходимую для этого.

Меня меньше беспокоит UI/UX перетаскивания ячеек, и я больше озабочен моделями, необходимыми для представления этого в базе данных SQL с ActiveRecord.

Любая помощь будет оценена. Спасибо!

1 ответ

Решение

Это довольно решенная проблема, есть множество драгоценных камней, которые справятся с этим для вас.

Обычно вы добавляете в таблицу целочисленный столбец "position" и сортируете по нему при выборе записей. Если вы хотите переместить элемент A на новую позицию после элемента B, сначала добавьте 1 позицию всех записей, отсортированных после B, чтобы освободить место для A, а затем установите позицию A на B.position + 1 Таким образом, сортировка включает только две записи.

Другие вопросы по тегам