0

У меня есть форма, в которой есть около 10-15 несвязанных групп флажков, каждая из которых нуждается в возможности выбора нескольких значений. Создание новой таблицы и ассоциации HABTM для каждой группы кажется излишним.Обработка групп категорий/флажков в Rails

Например, для формы таблицы видео, которая должна записывать параметры в следующих группах. Пользователь должен иметь возможность выбирать несколько флажков для каждого.

Emotions 
[x]Sad 
[x]Angry 
[ ]Happy 
[ ]Hopeful 

Landscape 
[x]Mountains 
[ ]City 
[ ]Indoors 
[x]Water 

Industry 
[ ]Arts 
[x]Design 
[x]Technology 
[ ]Education 

Я думал о приближении к этому со следующими вариантами, но никто из них не чувствует себя хорошо.

Вариант 1
Создать таблицу Категории и связать друг к столу CategoryGroups. Затем сохраните массив проверенных категорий_и_и в видеороликах video.landscape и video.industry.

значения Вариант 2
Магазин хэш/hstore непосредственно в столбцах.

Вариант 3
Создать таблицу для каждой группы флажков. Затем ассоциация HABTM или соедините таблицу для клипов и опций. Похоже, база данных может быть загромождена.

Вариант 4
Создать новый столбец для каждого из вариантов. Похоже, что структура таблицы может стать громоздкой.

Поиск (возможно, с solr) будет важной частью приложения, поэтому поля должны быть легко запросить и выполнить поиск. Есть ли хороший способ справиться с чем-то подобным?

ответ

0

Одной из идей было бы сохранить Emotions, Landscapes и Industries в качестве тегов с помощью acts-as-taggable-on. Таким образом, вы можете сохранить свою модель чистой, сохраняя при этом эти поля легко доступными для поиска.

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

+0

Гораздо проще. Благодаря! –

Смежные вопросы