Hello,
I''m using better nested set with rails 1.2.6 and ruby 1.8.6 p111 and
discovered some odd behaivior:
I created a tree with a root-node, 1 inner nodes and two leaves:
select id,parent_id,lft,rgt,name from holdings;
+----+-----------+------+------+----------------+
| id | parent_id | lft | rgt | name |
+----+-----------+------+------+----------------+
| 0 | NULL | 1 | 6 | --- Keiner --- |
| 2 | 0 | 2 | 3 | Spatensatz |
| 3 | 0 | 4 | 5 | Klappspaten |
| 4 | 3 | 7 | 8 | Reservestil |
+----+-----------+------+------+----------------+
4 rows in set (0.00 sec)
But for some reason, "Reservestil" is not included in
Klappspaten.all_children:>> Holding.find(3).all_children
=> []
Renumbering the tree fixes the issue:>> Holding.find(0).renumber_full_tree
=> [{:lft=>5, :rgt=>6, :id=>4}, {:lft=>4, :rgt=>7, :id=>3},
{:lft=>1, :rgt=>8, :id=>0}, {:lft=>8, :rgt=>9, :id=>2},
{:lft=>10, :rgt=>11, :id=>4}, {:lft=>9, :rgt=>12, :id=>3}]
>> Holding.find(3).all_children.size
=> 1
What might have gone wrong?
All nodes (expect "--- Keiner --") were moved by move_to_child_of to
their
positions...
Thanks,
Keep smiling
yanosz