我得到“断言失败:查询API时,必须在传递给”push“的散列中包含”id“

我必须阅读关于我的问题堆栈溢出的每一个问题,并没有find一个解决scheme。 我对Ember和Node很新,所以请耐心等待。

服务器以这种格式响应:

{ "_id" : "53fddf59d72f9b4d3a3e164a" "about" : [ {"from" : "foo"}, {"text" : "bar"}, ... ] } 

我的模型看起来像这样:

 App.About = DS.Model.extend({ from : DS.attr('string'), text : DS.attr('string'), ... } 

适配器和序列化器:

 App.ApplicationAdapter = DS.RESTAdapter.extend({ host: 'http://localhost:3000' }); App.ApplicationSerializer = DS.JSONSerializer.extend({ primaryKey: '_id' }); 

而我的路线:

 App.AboutRoute = Ember.Route.extend({ model: function() { return this.store.find('about'); } }); 

使用车把:

 <script type="text/x-handlebars" data-template-name="about"> <p>{{from}}</p> </script> 

路线将呈现,但控制台给出的错误:

debugging:——————————- ember.js:3285
DEBUG:Ember:1.3.0 ember.js:3285
DEBUG:Ember数据:1.0.0-beta.5 ember.js:3285
debugging:把手:1.3.0 ember.js:3285
DEBUG:jQuery:1.10.2 ember.js:3285
debugging:——————————- ember.js:3285
生成 – >路线:应用程序对象{全名:“路线:应用程序”} ember.js:3285
断言失败:您必须在通过push ember.js:3285的散列中包含一个id
生成 – >控制器:关于对象{全名:“控制器:关于”} ember.js:3285
过渡到“大约”

我究竟做错了什么?!


更新:

已经接受了Kingpin2k的答案,即使这不是我最终使用的确切格式。 详情请参阅评论。

你的格式应该有复数的types,并在个人logging上的ID。

  { "abouts" : [ { "from" : "foo", "text" : "bar", "_id" : "53fddf59d72f9b4d3a3e164a" }, { "from" : "foo2", "text" : "bar2", "_id" : "53fddf59d72f9b4d3a3e164k" }, ... ] }