Хранение выпадающих СУХОЙ в веб-приложении - PullRequest
2 голосов
/ 26 февраля 2009

Я пишу CMS для различных форм и тому подобного, и я обнаружил, что создаю множество раскрывающихся меню. На самом деле я не чувствую, что мне нужно перегружать мою базу данных множеством таблиц случайных ключей / строковых значений для простых выпадающих меню с 2-4 вариантами, которые меняются очень редко. Что вы делаете, чтобы справиться с этим ответственно?

Это не зависит от языка, но я работаю в Rails, если у кого-то есть конкретные советы.

Ответы [ 3 ]

4 голосов
/ 26 февраля 2009

Мы помещаем все в одну таблицу LookUp в базе данных со столбцом, который сопоставлен с перечислением, описывающим, для какого поиска оно было (название, страна и т. Д.).

Это позволило нам добавить гибкость опции «Другое, укажите» в выпадающих списках. Мы создали элемент управления, который инкапсулировал это, со свойством для включения или выключения этого поведения в каждом конкретном случае.

Если конечный пользователь выберет «Другое, укажите, пожалуйста», появится текстовое поле для ввода его собственного значения. Это будет добавлено в таблицу поиска, но помечено как специальный элемент.

В таблице содержался флаг, обозначающий состояние каждого значения поиска: Active, Inactive, AdHoc. Только активные из них будут отображаться в раскрывающемся списке; AdHoc были те, которые были созданы с помощью опции «Другое, пожалуйста, укажите».

Страница администратора показала частоту использования значений AdHoc, что позволило администраторам сайта продвигать общие популярные значения в общее использование (т. Е. Изменяя свой флаг состояния на Активный).

Это может быть излишним для вашего приложения, но у нас оно сработало очень хорошо: приложение в основном было почти полностью CRUD-операциями с очень специфичными для бизнеса данными. У нас были десятки поисков по всему сайту, которые клиент хотел поддерживать самостоятельно. Это дало им полную гибкость без вмешательства с нашей стороны.

3 голосов
/ 26 февраля 2009

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

1 голос
/ 26 февраля 2009

В моей текущей позиции мы реализовали таблицу LookupCode, которая содержит столбцы CodeGroup, Code и Meaning, а также некоторые другие (например, активные). Таким образом, у вас есть одна таблица, содержащая все ваши значения поиска, которые находятся в одном месте, и вы можете сделать несколько быстрых поисков, чтобы привязать их к выпадающим спискам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...