所以这是我的问题,我已经创建了一个搜索路径,到目前为止创建一个新的搜索工作我可以提交,它会向后端发送一个休息请求,依此类推,并且有效。
现在,当我尝试显示一个我保存时,我收到此错误
Assertion failed: Error while loading route: TypeError: Cannot read property 'id' of undefined
我不能再进一步它不会渲染页面(我知道根据要点没有渲染,但我评论它是否是问题,而不是我仍然得到错误)< / p>
我从后端返回的JSON配置正确,我可以在ember检查器上看到它,我甚至尝试让后端返回所有搜索,并且ember检查器存储了很多这些,我还是得到同样的错误,这是要点的链接。
https://gist.github.com/mmarignoli/8002088
感谢。
答案 0 :(得分:1)
尝试更换:
return this.store.find('Search', params.search_id);
带
return this.store.find('search', params.search_id);
请注意搜索中的小写“s”
另外,替换:
{"Searches": [{"id": 11, "name": "adwadwd"}]}
with:
{"searches": [{"id": 11, "name": "adwadwd"}]}
路径名称中的小写“s”:
this.resource('search.new', {path:'/search/new'});
this.resource('search', {path: '/search/:search_id'})
此外,您要求服务器提供对象,但是您要返回一个数组。
完整代码:
App.Router.map(function () {
this.resource('search.new', {path:'/search/new'});
this.resource('search', {path: '/search/:search_id'})
});
App.SearchRoute = Ember.Route.extend({
model: function( params ) {
return this.store.find('search', params.search_id);
},
});
JSON:
{"search": {"id": 11, "name": "adwadwd"}}