我得到“断言失败:查询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" }, ... ] }