2011-09-23 49 views
0

我想想如何創建2級3級菜單的最佳方法。我的第一個想法就是一切存儲到一個數據庫表,結構如下:Rails/Mysql/SQLite - 構建2級或3級菜單的最佳方法

- id 
- item 
- level 

如果我創建第一級菜單項目,所以水平意願0。如果我將創建第二個菜單項級別(例如,聯繫 - 電話),所以電話是第二個菜單項和水平值將是聯繫的ID。 但是現在 - 我不知道如何從數據庫打印它 - 在第一個循環中,我將打印第一級菜單項(level = 0),然後打印第二個菜單項(level = ID_of_first_menu_item) - 存在任何優雅的方式,如何同時打印一級和二級項目(我將在Rails中構建它)?

而第二種方式 - 存儲到單獨的表中的菜單項每個級別 - 但我的意思是,這不是好主意......

感謝您的幫助!

+0

請問你能否解釋一下,或者舉一些例子如何在同一個模型/表上使用左連接? – user1946705

回答

0

看看https://github.com/collectiveidea/awesome_nested_set這基本上是一棵樹。適合嵌套導航

+0

感謝Marian的回覆。我試圖在安裝這個插件的時候搜索一些教程或示例,但不幸的是我找不到有用的東西......你能給我一些關於這個插件基本設置的幫助嗎? – user1946705