Приложение, которое я создаю, показывает пользователям список элементов, которые являются экземплярами модели. Я хочу, чтобы они могли сортировать элементы так, как им хотелось бы, используя метод sortable () JQuery. Это реализовано и работает правильно, но мне нужен способ сохранить порядок, в котором они перечислены. Этот список обновляется довольно часто, элементы удаляются и добавляются новые.
Мой первоначальный подход состоял в том, чтобы дать модели столбец «позиция», и каждый раз, когда элемент списка перемещается в списке, меняйте значение позиции всех элементов в списке. Однако это потребовало бы от меня получения всех объектов модели при каждой сортировке 1 и применения изменений к каждому из них.
Единственный другой способ, которым я мог придумать, - дать каждому значение «вес» вместо их фактической позиции в списке. Оставьте достаточно места между каждым значением, чтобы заполнить пробелы. Например, веса равны 10, 20, 30 и 40. Если пользователь перемещает четвертый элемент во вторую позицию, посмотрите на первый и второй элементы и выберите 15 в качестве его веса. Это, конечно, будет работать так долго, пока все веса не будут пересчитаны для размещения предмета.
Я обдумываю это? Я не ожидаю большого использования от этого приложения, поэтому дополнительные вызовы модели с использованием столбца позиции не будут действительно проблемой - но если есть лучший, более эффективный способ сделать это, я все равно предпочитаю делать это так.
Спасибо: -)