Ember.js 在余烬数据中对新记录调用save()时,记录未添加到模型中

Ember.js 在余烬数据中对新记录调用save()时,记录未添加到模型中,ember.js,ember-data,Ember.js,Ember Data,使用余烬数据0.13-59和余烬1.0.0 RC 6(来自起动机套件) 问题:当save()到从App.Userstat.createRecord({…})创建的新记录时,服务器获取POST并成功返回id,但新记录在Userstat模型中不可用 为了更好地理解示例:这是一个测验应用程序(用于多项选择题)。每个问题都有多个选项,当用户选择一个选项时,他们对相应问题的选择存储在一个模型中,App.Userstat 在每个问题上,应用程序都需要知道用户是否已经回答了这个问题,或者是新问题 我将计算属性

使用余烬数据0.13-59和余烬1.0.0 RC 6(来自起动机套件)

问题:
save()
到从
App.Userstat.createRecord({…})
创建的新记录时,服务器获取
POST
并成功返回
id
,但新记录在
Userstat
模型中不可用

为了更好地理解示例:这是一个测验应用程序(用于多项选择题)。每个问题都有多个选项,当用户选择一个选项时,他们对相应问题的选择存储在一个模型中,
App.Userstat

在每个问题上,应用程序都需要知道用户是否已经回答了这个问题,或者是新问题

我将计算属性用作
setter
getter
。当用户选择一个选项(选项的值被传递到computed属性)时,调用
setter
。首先,它检查用户当前问题的记录是否存在。如果它不存在,它将创建一个新记录。如果确实存在,则只应发出包含更新内容的
PUT
请求

代码更新(7月8日上午11点)

无论我设置了多少次
selected
,它总是发送一个
POST
(与只发送PUT请求的更新相反),因为它不会在第一次将记录添加到模型中

为了进一步演示,在computed属性的
setter
部分,当我放置此代码时:

var stats = this.get('controllers.Userstats')
console.log stats 
Userstats控制器显示所有以前存在的记录,但不显示新提交的记录

为什么新记录在I
save()
commit()
之后不可用

谢谢:)

编辑


也许这与我在singular model
App.Userstat
中添加一条记录有关,然后当我查找它时,我正在使用UserstatsController进行搜索,它是一个数组控制器???

我不知道这是否是一个输入错误,但计算属性定义错误,应该是这样的:

App.QuestionController = Ember.ObjectController.extend({
  needs: 'userstats',
  choice: 'controllers.userstats.choice',
  chosen: function(key, value) {
    ...
  }.property('choice')
  ...
});
属性()。这样,如果
choice
更改,将触发
selected
cp


如果有帮助,请告诉我。

我不知道这是否是打字错误,但计算属性的定义方式错误,应该如下所示:

App.QuestionController = Ember.ObjectController.extend({
  needs: 'userstats',
  choice: 'controllers.userstats.choice',
  chosen: function(key, value) {
    ...
  }.property('choice')
  ...
});
属性()。这样,如果
choice
更改,将触发
selected
cp


如果有帮助,请告诉我。

这就是您的全部代码吗?好像错过了什么?和下面提到的直觉像素一样,有一些打字错误(比如createRecord缺少右括号…)。无论如何,您似乎从未定义要传递给新记录的
问题
变量?而且您永远不会将该新记录添加到
Userstats
控制器中,因此在其模型上使用
findProperty
时,它将永远找不到它。。。您可能还必须提交新的
newStat
?感谢您的关注!我遗漏了重要的部分。我一定是在编辑过程中重写了它们(已经晚了)。我已经更新了代码,以反映我的真实代码和我所经历的行为-即无法使用
Userstats
控制器上找到最近提交的记录。findProperty
是否所有的代码都已更新?好像错过了什么?和下面提到的直觉像素一样,有一些打字错误(比如createRecord缺少右括号…)。无论如何,您似乎从未定义要传递给新记录的
问题
变量?而且您永远不会将该新记录添加到
Userstats
控制器中,因此在其模型上使用
findProperty
时,它将永远找不到它。。。您可能还必须提交新的
newStat
?感谢您的关注!我遗漏了重要的部分。我一定是在编辑过程中重写了它们(已经晚了)。我已经更新了代码,以反映我的真实代码和我所经历的行为-即无法在
Userstats
控制器上使用
.findProperty
找到最近提交的记录感谢您的发现!我的问题中有几个拼写错误。但我的真实代码确实有一个
属性()。请参阅更新的代码。我重命名了
var questionModel
,添加了
.save()
.property()
。这些已经在我的代码中,所以问题一定在别处。谢谢你发现了!我的问题中有几个拼写错误。但我的真实代码确实有一个
属性()。请参阅更新的代码。我重命名了
var questionModel
,添加了
.save()
.property()
。这些已经在我的代码中,所以问题一定在别处。