学习Ember,我试图加载一篇博客文章"从服务器。我的路由正常,REST请求正常,我的服务器(node / express / mongoose)正在正确地返回数据。
但是,抱怨抱怨:
断言失败:您的服务器返回了一个带有关键页面的哈希,但您没有映射
根据我的所有研究,这应该可行。
型号代码:
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"
}
}
答案 0 :(得分:0)
我的代码有三个问题:
bower install ember-data
未安装最新版本,我必须使用bower install ember-data#1.0.0-beta.10
this.store.find('page', {slug:'bbb'});
显然使得ember假设将返回多个记录 - 因此它无法接受任何单个记录。我必须使用id语法:return this.store.find('page', 'bbb');
id
属性:{"page":{"id":"54345c895b24bfc4df34cf86","slug":"bbb","title":"bbb","content":"bbb"}}
一旦我解决了所有这三个问题,我就会看到我的单个记录正确返回。