【发布时间】:2010-12-21 07:16:48
【问题描述】:
在 Rails 3 中使用 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
【问题讨论】: