我正在使用一个名为MenuHeader
的模型的祖先宝石class MenuHeader < ActiveRecord::Base
has_ancestry
例如这个数据模型
id name ancestry position
1 MenuHeader#1 NULL 1
2 MenuHeader#2 1 1
3 MenuHeader#3 1/2 2
4 MenuHeader#4 1/2 1
使用此表示法:
1. MenuHeader#1
2. MenuHeader#2
4. MenuHeader#4 position 1
3. MenuHeader#3 poition 2
查看https://github.com/stefankroes/ancestry处的自述文件;目前尚不清楚我将如何实现这一目标,或者这是否可行?我尝试在其上放置一个范围,但这似乎不起作用。好像好像是
<% menu_header.children.is_not_deleted.each do |menu_header| %>
<%= render 'menus/ancestry/menu_header_form', menu_header: menu_header %>
<% end %>
希望:
<% menu_header.sorted_children.is_not_deleted.each do |menu_header| %>
<%= render 'menus/ancestry/menu_header_form', menu_header: menu_header %>
<% end %>
但不知道该怎么做。关于如何实现这一点的任何想法?
编辑#1 我见过这个:
Note that since materialised path trees don’t support ordering within a rank, the order of siblings depends on their order in the original array.
在排序的讨论中,但似乎我应该能够将lambda传递给它应该如何排序。