2009-02-26 55 views
2

我正在爲各種表單編寫CMS,並且我發現我創建了很多下拉菜單。我真的不想用大量的隨機鍵/字符串值表來挖掘我的數據庫,對於簡單的下拉菜單,有2-4個選項很少有變化。你如何以負責任的方式來管理這件事?在網絡應用程序中保持下拉乾燥

這是語言不可知的,但我在Rails中工作,如果任何人有具體的建議。

回答

4

我們將所有內容放入數據庫中的單個LookUp表中,並將列映射到描述查找它的標題(國家等)的枚舉。

這使我們能夠在查找下拉菜單中添加「其他,請指定」選項的靈活性。我們製作了一個封裝了這個控件的控件,並且有一個屬性可以根據具體情況開啓或關閉此行爲。

如果最終用戶選擇了「其他,請指定」,則會顯示一個文本框以輸入自己的值。這將被添加到查找表中,但標記爲臨時項目。

該表包含一個標誌,表示每個查找值的狀態:Active,Inactive,AdHoc。只有活動的會出現在下拉菜單中; AdHoc是通過「其他請指定」選項創建的。

管理頁面顯示了AdHoc值的使用頻率,允許網站的管理員將常用流行值提升爲一般用法(即將其狀態標誌更改爲活動狀態)。

這可能對您的應用程序有點矯枉過正,但對我們來說這確實很好:應用程序基本上幾乎完全是針對特定業務數據的CRUD操作。我們在整個網站上進行了數十次查詢,客戶希望能夠維護自己。這給了他們完全的靈活性,不需要我們的干預。

+0

我真的很喜歡這個想法。我不確定我是否會像一些精心製作的東西一樣,但絕對是一件好事。 – 2009-02-26 19:49:19

3

你冷有一個額外的列一個單獨的下拉表說什麼下拉是......限制與where子句的結果...

1

在我目前的職位,我們實現了一個LookupCode表包含CodeGroup,Code和Meaning列,以及其他一些(如活動)。這樣,您可以將包含所有查找值的單個表放在一個位置,並且可以執行一些快速查找以綁定到您的下拉列表。