【问题标题】:Ember data - calling super on find()Ember 数据 - 在 find() 上调用 super
【发布时间】:2014-05-07 21:08:03
【问题描述】:
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' 我不知道 super 是什么以及为什么我需要 super 型号?错误来自 ember.data.js 中 9797 行上名为 modelFor: 的函数。如果我在这个函数中放置一个console.log(key),我会得到以下输出postApp.Postsuper

下面是我目前得到的代码,非常基础:

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'

希望有人能帮我找出错误或错误。

【问题讨论】:

  • 当您调用find('post') 时从您的服务器返回的数据是什么,您是否也会显示您的适配器/序列化程序
  • 它甚至没有调用服务器,因为它首先出现了我在问题中提到的错误。我只包含了我的适配器/序列化器,如下所示:App.ApplicationAdapter = DS.ActiveModelAdapterApp.ApplicationSerializer = DS.ActiveModelSerializer
  • 好的,你也给我看看你的路由器吗
  • 谢谢。路由器在我的问题中。 Post Route。这是你的要求吗?
  • 一般看起来像这样 App.Router.map(function() { // 把你的路由放在这里 });,这是一个例子emberjs.jsbin.com/OxIDiVU/151/edit

标签: ember.js ember-data


【解决方案1】:

事实证明,如果您的 json 响应仅返回一个空数组,您将收到此错误。例如 - http://emberjs.jsbin.com/baras/1/edit。我的 json 响应应该返回 post: [] 而不仅仅是 [],因为这不是 ember 数据的正确格式。一旦我将 json 更改为返回 post: [] 一切正常。

导游:http://emberjs.com/guides/models/the-rest-adapter/#toc_json-root

好读:http://jsonapi.org/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多