首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“断言失败:在查询API时,必须在传递给”must“的散列中包含‘I’

问“断言失败:在查询API时,必须在传递给”must“的散列中包含‘I’
EN

Stack Overflow用户
提问于 2014-08-27 16:44:18
回答 1查看 5.8K关注 0票数 4

我一定读过关于堆栈溢出的所有关于我的问题的问题,但没有找到解决方案。我对Ember和Node非常陌生,所以请容忍我。

服务器以以下格式进行响应:

代码语言:javascript
复制
{
"_id" : "53fddf59d72f9b4d3a3e164a"
"about" : [
    {"from" : "foo"},
    {"text" : "bar"},
    ... ]
}

我的模型看起来是这样的:

代码语言:javascript
复制
App.About = DS.Model.extend({
    from : DS.attr('string'),
    text : DS.attr('string'),
    ...
}

适配器和序列化程序:

代码语言:javascript
复制
App.ApplicationAdapter = DS.RESTAdapter.extend({
    host: 'http://localhost:3000'
});

App.ApplicationSerializer = DS.JSONSerializer.extend({
    primaryKey: '_id'
});

我的路线是:

代码语言:javascript
复制
App.AboutRoute = Ember.Route.extend({
    model: function() {
        return this.store.find('about');
    }
});

使用车把:

代码语言:javascript
复制
<script type="text/x-handlebars" data-template-name="about">
    <p>{{from}}</p>
</script>

路由将呈现,但控制台提供错误:

调试:- ember.js:3285 调试: Ember : 1.3.0 ember.js:3285 调试:beta.5数据: 1.0.0-beta.5 ember.js:3285 调试:工具栏: 1.3.0 ember.js:3285 调试: jQuery : 1.10.2 ember.js:3285 调试:- ember.js:3285 生成的->路由:应用程序对象{fullName:“路由:应用程序”} ember.js:3285 id断言失败:您必须在传递给 push ember.js:3285的哈希中包含 生成的->控制器:关于对象{fullName:“控制器:关于”} ember.js:3285 转换成“关于”

我做错什么了?!

更新:

已经接受了Kingpin2k的回答,尽管这不是我最后使用的确切格式。有关细节,请参见评论。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-27 16:56:33

您的格式应该有类型复数,并在各个记录上的id。

代码语言:javascript
复制
 {
  "abouts" : [
    {
     "from" : "foo",
     "text" : "bar",
     "_id" : "53fddf59d72f9b4d3a3e164a"
    },
    {
     "from" : "foo2",
     "text" : "bar2",
     "_id" : "53fddf59d72f9b4d3a3e164k"
    },
    ... ]
 }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25532703

复制
相关文章

相似问题

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