Javascript 建立hasOne关系GeddyJS

Javascript 建立hasOne关系GeddyJS,javascript,node.js,geddy,Javascript,Node.js,Geddy,我试图从他们的网站上扩展GeddyJS Todo教程。我在Todo项目中添加了另一个模型Project,并希望以Todo hasOne项目方式在Todo和Project之间建立关系 以下是我的create controller方法中的代码,在保存Todo项后,我尝试在该方法中设置关系: todo.save(function(err, data) { if(err) { params.errors = err; self.transf

我试图从他们的网站上扩展GeddyJS Todo教程。我在Todo项目中添加了另一个模型Project,并希望以Todo hasOne项目方式在Todo和Project之间建立关系

以下是我的create controller方法中的代码,在保存Todo项后,我尝试在该方法中设置关系:

todo.save(function(err, data) {
        if(err) {
            params.errors = err;
            self.transfer('add');
        } else {
            geddy.model.Project.getProjectById(todo.parent, function(err, project) {
                if(err) {
                    params.errors = err;
                    self.transfer('add');
                }
                else {
                    todo.setProject(project);
                    self.redirect({ controller: self.name });
                }
            });

        }
    });
我正在使用一个类方法(getProjectById),它接受todo的父属性(项目的id)从db中获取项目

在我的Todo类文件中,hasOne关系定义如下:

this.hasOne('Project');
我不断收到以下编译器错误:

c:\Program Files (x86)\nodejs\node_modules\geddy\node_modules\model\lib\index.js:254
            throw new Error('Item cannot have a hasOne/hasMany association ' +
                  ^
Error: Item cannot have a hasOne/hasMany association if it is not yet saved..
事实证明,通过示例查找文档很困难,因此我想我应该询问网络上最强大的社区


有人知道我遗漏了什么吗?

您是否仍遇到此问题?如果是这样,你能试着跑步吗


$npm更新-g geddy

这很可能会解决您的问题