Rails: пользовательский интерфейс для добавления дочерних элементов из большого набора записей в родительскую модель в отношениях HABTM

Учитывая отношение родитель/потомок HABTM:

class List < ActiveRecord::Base
  has_and_belongs_to_many :items
end

class Item < ActiveRecord::Base
  has_and_belongs_to_many :lists
end

Мне нужно настроить пользовательский интерфейс для добавления элементов (дочерних) в список (родительский) из формы создания/редактирования списка. Проблема в том, что слишком много записей Items не позволяет использовать флажки. Первоначальная мысль состоит в том, чтобы иметь всплывающее окно, которое позволяет пользователю просматривать коллекцию элементов, чтобы найти записи для добавления, но я не уверен, как это будет работать с новыми записями списка (где родительский идентификатор еще не существует) . Я ищу решение, которое облегчит пользователю навигацию по большой коллекции дочерних записей и интуитивно понятное добавление их в родительскую запись с минимальным количеством требуемых кликов.

Пользователям потребуется возможность просматривать записи элементов, чтобы найти приемлемые варианты, поэтому текстовое поле автозаполнения, которое заставит пользователей искать записи, которые они хотят, в этом случае не будет работать. Записи дочерних элементов организованы с использованием нескольких атрибутов (например, название, автор, жанр, рейтинг), поэтому мой первоначальный план состоял в том, чтобы создать таблицу с записями элементов с фильтром AJAX и сортировкой, чтобы пользователь мог сузить коллекцию элементов до нужные элементы, а затем каким-то образом добавить выбранные записи в список. Пользователям не нужно иметь возможность определять новые записи элементов при создании списка (т. е. при создании списка пользователь просто выбирает несколько элементов из существующей коллекции).


person Del F    schedule 05.07.2010    source источник


Ответы (1)


Мне нравится текстовое поле с автозаполнением для подобных поисков; это будет зависеть от того, достаточно ли интуитивно понятен ваш дочерний набор данных, чтобы пользователи могли догадаться.

person Jesse Wolgamott    schedule 05.07.2010
comment
Это хорошее предложение, хотя в данном случае дочерние записи не будут легко найдены путем ввода в текстовое поле. Дочерние элементы необходимо будет отсортировать и отфильтровать, и они с большей вероятностью будут найдены при просмотре, чем при поиске. - person Del F; 06.07.2010
comment
Хорошо, тогда, возможно, решите проблему, описав рабочий процесс для приложения. Как пользователи будут настраивать список и элементы? Создав список, а затем выбрав элементы для добавления в него? Также: можно ли разделить предметы на категории? [Выберите остров еды, а затем пункт еды] - person Jesse Wolgamott; 06.07.2010