我刚刚awesome_nested_set到位,一切运作良好。我使用github链接上列出的Category.rebuild!
从acts_as_tree转换过来。
问题是,我没有在没有父级的情况下在顶层创建节点的选项(例如 - 表单select中没有空白<option>
)。这是我正在使用的select_tag:
<%= select_tag 'parent_id', options_for_select(nested_set_options(Page) {|i| "#{'..' * i.level} #{i.name}" } ) %>
我是一个新手,因此我不确定如何制作它以便我可以在顶层创建一个页面。有人能指出我正确的方向吗?
答案 0 :(得分:2)
要在根级别创建记录,只需保留parent_id
nil即可。您需要为此添加一个选项:
<%= select_tag 'parent_id', options_for_select(
nested_set_options(Page) {|i| "#{'..' * i.level} #{i.name}" }.unshift(["No Parent", nil])
) %>
现在可能是时候把它变成帮助了。
答案 1 :(得分:1)
通过 unshift 方法执行此操作并不是一个好方法。 使用:include_blank =&gt;是的。
<%= f.select :parent_id, nested_set_options(Page){|i| "#{'-' * i.level} #{i.name}" }, {:include_blank => true}, {:class => "form-control"} %>