2011-10-17 38 views
0

我存儲在我的菜單結構,數據庫表,如何加載數據:的Rails 3 select_tag -

id | item | par 
1 | A | 0 
2 | B | 0 
3 | C | 1 
4 | D | 1 

我認爲安博的方式,如何讓我的選擇選項的語句:

A 
B 
A -> C 
A -> D 

我能夠使語句爲:

A 
B 
C 
D 

使用下面的命令:

<%select(「menu_item」,「menu_id」,Menu.all.collect {| p | [p.item, p.id]},{:include_blank => ''})%>

但我不能找到一種方法,如何實現語句作爲中間例子.. 。我想問你 - 有誰能幫我解決這個問題嗎?

預先感謝您。

+1

你是否實現自己的單表繼承?如果是這樣,我建議看看https://github.com/stefankroes/ancestry。然後,您可以使用所有它的奇特幫助器方法來獲取每個具有任何菜單項的所有子項。 – Thilo

回答

0

你可能需要一個助手來創建所需的標籤。所以,如果你命名你的幫手full_item_name,你會有

<%= select("menu_item", "menu_id", Menu.all.collect {|p| [ full_item_name(p.item), p.id ] }, {:include_blank => ''}) %> 
+0

是的,我知道你的意思,但現在我正在努力的方式,如何獲得數據(如何使full_item_name助手) – user984621

+0

你能告訴我們你的模型是什麼樣子嗎? – Larsenal

+0

我的模型看起來像在第一篇文章中 - 當然我在我的數據庫表中有更多的列,但這些並不重要 – user984621