【问题标题】:setting up hasOne relationship GeddyJS设置 hasOne 关系 GeddyJS
【发布时间】:2012-11-08 14:23:47
【问题描述】:

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

这是我的创建控制器方法中的代码,我在保存 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)从数据库中获取项目。

在我的 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..

事实证明,查找示例文档很困难,所以我想我会问网络上最强大的社区。​​p>

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

【问题讨论】:

    标签: javascript node.js geddy


    【解决方案1】:

    您还在遇到这个问题吗?如果是这样,您可以尝试运行

    $ npm update -g geddy

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

    【讨论】:

      猜你喜欢
      • 2020-10-06
      • 1970-01-01
      • 2022-12-01
      • 2017-09-10
      • 2018-05-29
      • 2021-08-15
      • 2017-04-21
      • 2016-03-17
      • 1970-01-01
      相关资源
      最近更新 更多