findRecord()返回错误但正确返回记录

时间:2017-04-16 17:59:23

标签: ember.js ember-data

调用数据存储的findRecord()函数时出现奇怪的错误。下面是路径内的函数调用,

return this.get('store').findRecord('restaurant', params.restaurant_id);

以下是我得到的错误,

vendor-6605726….js:10 Error while processing route: admin.restaurants.show e.getRecord is not a function TypeError: e.getRecord is not a function

vendor-6605726….js:8 TypeError: e.getRecord is not a function

最奇怪的是,该函数可以正常工作,因为我可以看到使用ember检查器查询正确执行并返回正确的记录。我有一个索引路由调用findAll(),不会抛出任何错误。我正确地格式化了我的json我相信所以我对这可能是我的想法没有。

这是json,

{"data":[{"type":"restaurants","id":1,"attributes":{"user_id":1,"name":"###########","address":"","phone":"##########","website":"##########","created_at":"2017-03-19 20:42:02","updated_at":"2017-03-19 20:42:02","description":"###########"}}]}

1 个答案:

答案 0 :(得分:0)

我最近遇到了同样的问题。您的API返回的JSON有效内容很可能未正确格式化。请记住,findRecord()期望返回单个对象,而不是数组:

{"data": {}}  

{"data": []} 

仔细检查DevTools以查看您的API返回给客户端的内容 - 确保它不是数组。