首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置hasOne relationship GeddyJS

设置hasOne relationship GeddyJS
EN

Stack Overflow用户
提问于 2012-11-08 22:23:48
回答 1查看 324关注 0票数 0

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

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

代码语言:javascript
复制
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的parent属性(项目的id)来从数据库中获取项目。

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

代码语言:javascript
复制
this.hasOne('Project');

我不断收到编译器错误,内容如下:

代码语言:javascript
复制
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..

事实证明,通过示例找到文档很困难,所以我想我应该问一下web上最强大的社区。

有人知道我错过了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2012-11-10 07:37:06

你还在经历这个问题吗?如果是这样的话,你可以尝试运行

$ npm update -g geddy

这很可能会解决你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13290866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档