在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