Ruby 很棒的嵌套集-如何放置这些项目?

Ruby 很棒的嵌套集-如何放置这些项目?,ruby,ruby-on-rails-3,tree,root,nested-sets,Ruby,Ruby On Rails 3,Tree,Root,Nested Sets,我有以下表格结构,其中我存储了树的项目: | id | int(11) | NO | PRI | NULL | auto_increment | | user_id | int(11) | YES | | NULL | | | parent_id | int(11) | YES | | NULL | | | lft | int(11) | YES

我有以下表格结构,其中我存储了树的项目:

| id         | int(11)  | NO   | PRI | NULL    | auto_increment |
| user_id    | int(11)  | YES  |     | NULL    |                |
| parent_id  | int(11)  | YES  |     | NULL    |                |
| lft        | int(11)  | YES  |     | NULL    |                |
| rgt        | int(11)  | YES  |     | NULL    |                |
| created_at | datetime | YES  |     | NULL    |                |
| updated_at | datetime | YES  |     | NULL    |                |
+------------+----------+------+-----+---------+----------------+
在我创建一个新项目到树结构的表单中,我在一个隐藏的输入中有一个新项目,它总是我刚刚创建的项目的父项

在控制器中,我执行以下操作:

def create
    @user = User.new(params[:user])

    respond_to do |format|
      if @user.save
        save_tree = TreeStruct.create!(:user_id => @user.id)
        save_tree.move_to_child_of(params[:parent])

        format.html { redirect_to(root_url, :notice => 'OK.') }
        format.xml  { render :xml => @user, :status => :created, :location => @user }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @user.errors, :status => :unprocessable_entity }
      end
    end
  end
但是,当我尝试创建并将项目添加到此树时,总会出现以下错误:

Couldn't find TreeStruct with id=28
编号28是父项的ID。保存到数据库中的当前创建的项,parent\u id列的值为NULL

我有点困惑——我做错了什么?为什么我会犯这个错误?以及如何创建树的根,然后添加其他项