【发布时间】: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),我会得到以下输出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'
希望有人能帮我找出错误或错误。
【问题讨论】:
-
当您调用
find('post')时从您的服务器返回的数据是什么,您是否也会显示您的适配器/序列化程序 -
它甚至没有调用服务器,因为它首先出现了我在问题中提到的错误。我只包含了我的适配器/序列化器,如下所示:
App.ApplicationAdapter = DS.ActiveModelAdapter和App.ApplicationSerializer = DS.ActiveModelSerializer -
好的,你也给我看看你的路由器吗
-
谢谢。路由器在我的问题中。
Post Route。这是你的要求吗? -
一般看起来像这样 App.Router.map(function() { // 把你的路由放在这里 });,这是一个例子emberjs.jsbin.com/OxIDiVU/151/edit
标签: ember.js ember-data