Javascript “余烬数据”;“无映射”;错误,尽管具有正确命名的模型
正在学习Ember,我正在尝试从服务器加载一篇“博客文章”。我的路由正常工作,REST请求正确发出,我的服务器(node/express/mongoose)正确返回数据 然而,恩伯抱怨说: 断言失败:您的服务器返回了一个带有密钥页的哈希,但您没有该哈希的映射 根据我所有的研究,这应该很有效 型号代码:Javascript “余烬数据”;“无映射”;错误,尽管具有正确命名的模型,javascript,ember.js,Javascript,Ember.js,正在学习Ember,我正在尝试从服务器加载一篇“博客文章”。我的路由正常工作,REST请求正确发出,我的服务器(node/express/mongoose)正确返回数据 然而,恩伯抱怨说: 断言失败:您的服务器返回了一个带有密钥页的哈希,但您没有该哈希的映射 根据我所有的研究,这应该很有效 型号代码: App.Page = DS.Model.extend({ slug: DS.attr('string'), title: DS.attr('string'), cont
App.Page = DS.Model.extend({
slug: DS.attr('string'),
title: DS.attr('string'),
content: DS.attr('string')
});
路线的模型连接:
App.PageRoute = Ember.Route.extend({
model: function(params){
return this.store.find('page', {slug:params.slug});
}
});
当路由加载时,这是来自服务器的JSON响应:
{
"page":{
"slug":"bbb",
"title":"bbb",
"content":"bbb"
}
}
我的代码有三个问题:
没有安装最新版本,我不得不使用bower install ember data
bower install ember data#1.0.0-beta.10
- 使用
显然让ember假设返回的记录不止一条,所以它无法接受任何一条记录。我必须使用id语法:this.store.find('page',{slug:'bbb'})
返回this.store.find('page','bbb')代码>
- 在正确地“查询”单个记录之后,我必须确保记录JSON具有
属性:id
{“page”:{“id”:“54345c895b24bfc4df34cf86”,“slug”:“bbb”,“title”:“bbb”,“content”:“bbb”}
一旦我解决了所有这三个问题,我就会看到我的单个记录正确返回。你的Json结果有ID字段吗?你能从你的代码样本中创建jsbin原型吗?我试图自己构建它,但我不能重复那个断言错误。你可以把我的例子作为你实验的基础:。顺便说一句,我试图揭示在余烬数据中按参数(而不是id)查找和按id查找记录之间的区别(参见jsbin中的示例)。运行
bower安装余烬数据安装版本0.14<代码>余烬数据#0.0.14
,但您的示例使用的版本是1.0.0-beta.10+canary.30d6bf849b
。当我在本地使用它时,我不再看到任何错误。我必须运行bower安装余烬数据#1.0.0-beta.10