DEBUG: ------------------------------- ember.js:3916
DEBUG: Ember : 1.7.0-beta.1+canary.3d383376 ember.js:3916
DEBUG: Ember Data : 1.0.0-beta.7.f87cba88 ember.js:3916
DEBUG: Handlebars : 1.1.2 ember.js:3916
DEBUG: jQuery : 1.10.2 ember.js:3916
DEBUG: -------------------------------
我正在开始一个非常简单的应用程序并尝试使用ember-data。我不确定这是一个错误还是我做错了什么。在我的路线和模型功能中,@store.find('post', 1)
效果很好。但是,如果我尝试更改此内容以查找@store.find('post')
的所有记录,则会收到此错误Error while loading route: posts No model was found for 'super' Error: No model was found for 'super'
我不知道超级是什么,为什么我需要超级模特?该错误来自ember.data.js中 9797 行上名为modelFor:
的函数。如果我在此函数中放置console.log(key)
,我会得到以下输出post
,App.Post
,super
。
以下是我目前的代码,非常基本的代码:
App.Post
App.Post = DS.Model.extend
title: DS.attr('string')
description: DS.attr('string')
路由器
App.Router.map () ->
@resource 'posts'
索引路线
App.IndexRoute = Ember.Route.extend
beforeModel: () ->
@transitionTo 'posts',
邮政路线
App.PostsRoute = Ember.Route.extend
model: () ->
@store.find('post')
适配器/串行器
App.ApplicationAdapter = DS.ActiveModelAdapter
App.ApplicationSerializer = DS.ActiveModelSerializer
RESTAdapter
DS.RESTAdapter.reopen
namespace: 'api/v1'
希望有人可以帮我发现错误或错误。
答案 0 :(得分:4)
事实证明,如果您的json响应只返回一个空数组,那么您将收到此错误。例如 - http://emberjs.jsbin.com/baras/1/edit。我的json响应应该返回post: []
而不仅仅是[]
,因为这不是ember数据的正确格式。一旦我改变了json以返回post: []
,一切正常。
指南:http://emberjs.com/guides/models/the-rest-adapter/#toc_json-root