0

我需要我的一个项目使用树形结构。我找到了这个链接并尝试使用它。我的表结构如下所示:

id    
user_id
parent_id
lft
rgt

当我尝试创建一个根时,我会这样做:

save_tree = TreeStruct.create!(:user_id => @user.id)

然后我尝试添加孩子:

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

但是在这一刻,我仍然一遍又一遍地收到错误Couldn't find TreeStruct with id=12。具有树结构的数据库表的内容在这里:

+----+---------+-----------+------+------+---------------------+---------------------+
| id | user_id | parent_id | lft  | rgt  | created_at          | updated_at          |
+----+---------+-----------+------+------+---------------------+---------------------+
|  1 |      12 |      NULL |    1 |    2 | 2011-11-30 04:09:41 | 2011-11-30 04:09:41 |
+----+---------+-----------+------+------+---------------------+---------------------+

谁能帮助我,拜托,我仍然做错了什么?我找不到使用此 gem 的正确方法...为什么需要值为 12 的 ID?我虽然这不是必需的......

百万次感谢您的每一次帮助!我已经在第二天就在努力解决这个问题,但仍然找不到主要问题

4

1 回答 1

1

我建议使用“祖先”宝石——它在支持树结构方面非常出色。它将祖先列表存储在逗号分隔的字符串中,这使得查找非常有效。

http://railscasts.com/episodes/262-trees-with-ancestry

https://github.com/stefankroes/ancestry

于 2011-11-30T04:27:39.190 回答