Ruby 可怕的嵌套集-创建数据库结构时出错

Ruby 可怕的嵌套集-创建数据库结构时出错,ruby,ruby-on-rails-3,model,tree,nested-sets,Ruby,Ruby On Rails 3,Model,Tree,Nested Sets,我使用这个插件创建我的树结构。关于我的DB模式,我有一个小问题-我不确定它是否工作良好。 我的DB表如下所示: +----+---------+-----------+------+------+---------------------+---------------------+ | id | user_id | parent_id | lft | rgt | created_at | updated_at | +----+---------+----

我使用这个插件创建我的树结构。关于我的DB模式,我有一个小问题-我不确定它是否工作良好。 我的DB表如下所示:

+----+---------+-----------+------+------+---------------------+---------------------+
| id | user_id | parent_id | lft  | rgt  | created_at          | updated_at          |
+----+---------+-----------+------+------+---------------------+---------------------+
|  1 |       2 |      NULL |    1 |    2 | 2011-11-25 18:48:14 | 2011-11-25 18:48:14 |
|  2 |       3 |         2 |    3 |   16 | 2011-11-25 18:49:07 | 2011-11-25 18:49:07 |
|  3 |       4 |         2 |    4 |    7 | 2011-11-25 18:50:56 | 2011-11-25 18:50:56 |
|  4 |       5 |         3 |    5 |    6 | 2011-11-25 18:56:37 | 2011-11-25 18:56:37 |
|  5 |       7 |         2 |    8 |    9 | 2011-11-28 08:44:11 | 2011-11-28 08:44:11 |
|  6 |       8 |         2 |   10 |   11 | 2011-11-28 10:56:26 | 2011-11-28 10:56:26 |
|  7 |       9 |         2 |   12 |   13 | 2011-11-28 16:57:54 | 2011-11-28 16:57:54 |
|  8 |      10 |         2 |   14 |   15 | 2011-11-29 14:01:45 | 2011-11-29 14:01:45 |
+----+---------+-----------+------+------+---------------------+---------------------+
我认为根项(ID=1)将自动更新值lftrgt,但在我的情况下不是。我仍然不知道,我做错了什么

以下是我创建项目的过程:

-正在创建节点(根):

-正在根项目下创建项目:

save_tree = TreeStruct.create!(:user_id => @user.id)
save_tree.move_to_child_of(params[:parent])
在我创建项目的表单中,是隐藏的输入,该输入具有根项目的值(ID)

我的问题-当表中仍然有值lft=1rgt=2时,我做错了什么?这里的值不应该是116

万分感谢您的帮助,我真的很绝望这个问题。

我发现我必须运行MyModel.rebuild!在创建它之后。这似乎重做了所有的lft、rgt值等

您似乎还能够在具有子体的类的实例上运行rebuild。文档相当不错,我使用以下备忘单解决了大部分问题:

save_tree = TreeStruct.create!(:user_id => @user.id)
save_tree.move_to_child_of(params[:parent])