在Rails 3中使用awesome_nested_set,我創建了分層類別系統。要在視圖中顯示的類別選擇,我用下面的代碼:使用awesome_nested_set按字母順序排列類別選擇菜單
<%= form.select :parent_id, options_for_select(nested_set_options(Category, @category) {|i| "#{'-' * i.level} #{i.name}" }.unshift(["No Parent", nil]), @category.parent_id) %>
我試圖訂購按字母順序排列的類別,由水平的基礎水平。如果我將nested_set_options(Category, @category)
更改爲nested_set_options(Category.order("name"), @category)
,則會按名稱重新排列整個類別列表;我想要做的是按名稱按字母順序重新排序每個節點的子節點。
例如,我想導致選擇菜單訂購這樣的:
Animal
- Bird
-- Chicken
-- Hawk
- Fish
-- Cod
-- Goldfish
-- Trout
- Mammal
-- Cat
-- Primate
--- Chimpanzee
--- Human
-- Zebra
Plant
- Tree
由於這篇文章中,我們已經實現了與數據操作打交道時默認使用的範圍順序的難度。 – efoo 2011-10-31 19:13:50