2

我正在为各种表格等编写 CMS,我发现我正在创建很多下拉菜单。我真的不想用大量随机键/字符串值表来破坏我的数据库,以便使用 2-4 个很少更改的简单下拉列表。你如何以负责任的方式管理这件事?

这与语言无关,但如果有人有具体建议,我正在 Rails 中工作。

4

3 回答 3

4

我们将所有内容放入数据库中的单个 LookUp 表中,其中一列映射到一个枚举,该枚举描述了它用于哪个查找(标题、国家等)。

这使我们能够在查找下拉列表中添加“其他,请指定”选项的灵活性。我们制作了一个控件来封装它,并带有一个属性来根据具体情况打开或关闭此行为。

如果最终用户选择“其他,请指定”,则会出现一个文本框供他们输入自己的值。这将被添加到查找表中,但被标记为临时项目。

该表包含一个标志,表示每个查找值的状态:Active、Inactive、AdHoc。只有活跃的会出现在下拉列表中;AdHoc 是通过“其他,请说明”选项创建的。

管理页面显示了 AdHoc 值的使用频率,允许站点管理员将常见的流行值推广到一般用途(即将其状态标志更改为活动)。

这对您的应用程序来说可能有点矫枉过正,但它对我们的应用程序来说非常有效:该应用程序基本上几乎完全是对非常特定于业务的数据的 CRUD 操作。我们在整个站点上进行了数十次查找,客户希望能够自行维护这些查找。这给了他们完全的灵活性,无需我们干预。

于 2009-02-26T19:10:31.833 回答
3

您冷有一个带有额外列的下拉表来说明下拉列表的用途...使用 where 子句限制结果...

于 2009-02-26T18:42:53.070 回答
1

在我目前的职位上,我们实现了一个 LookupCode 表,其中包含一个 CodeGroup、Code 和 Meaning 列,以及其他一些列(如 active)。这样,您就有一个包含所有查找值的表位于一个位置,并且您可以进行一些快速查找以绑定到您的下拉列表。

于 2009-02-26T18:45:50.533 回答