首先,我知道这应该非常简单,许多文档似乎都回答了我的问题。问题是,我已经尝试了一切,但我无法使其发挥作用。
所以我正在尝试开始我的第一个Ember应用程序。
我已经创建了一个新的Rails应用程序,添加了ember-rails Gem,运行了ember:bootstrap和ember:install --head,这就是我的设置现在的样子:
DEBUG: ------------------------------- ember.js?body=1:3883
DEBUG: Ember : 1.7.0-beta.1+canary.271940eb ember.js?body=1:3883
DEBUG: Ember Data : 1.0.0-beta.7+canary.20adb1d5 ember.js?body=1:3883
DEBUG: Handlebars : 1.3.0 ember.js?body=1:3883
DEBUG: jQuery : 1.11.0 ember.js?body=1:3883
DEBUG: -------------------------------
现在,我正在尝试从rails API中抓取一些记录并显示它们。
我已经使用activeModel序列化程序配置了我的后端,并且我已经检查了它正确的结果集。
我的store.js.coffee我(我很确定问题所在)如下:
App.ApplicationAdapter = DS.ActiveModelAdapter.extend()
我总是收到这个错误:
Error while loading route: TypeError: Object function () {
var Class = makeCtor(), proto;
Class.ClassMixin = Mixin.create(this.ClassMixin);
Class.PrototypeMixin = Mixin.create(this.PrototypeMixin);
Class.ClassMixin.ownerConstructor = Class;
Cl...<omitted>... } has no method 'create'
at instantiate (http://app.dev/assets/ember.js?body=1:46251:26)
at lookup (http://app.dev/assets/ember.js?body=1:46117:19)
at Object.Container.lookup (http://app.dev/assets/ember.js?body=1:45792:16)
at EmberObject.extend.controllerFor (http://app.dev/assets/ember.js?body=1:38264:32)
at EmberObject.extend.setup (http://app.dev/assets/ember.js?body=1:37790:31)
at handlerEnteredOrUpdated (http://app.dev/assets/ember.js?body=1:40938:36)
at http://app.dev/assets/ember.js?body=1:40907:18
at forEach (http://app.dev/assets/ember.js?body=1:41956:54)
at setupContexts (http://app.dev/assets/ember.js?body=1:40906:9)
at finalizeTransition (http://app.dev/assets/ember.js?body=1:41076:9)
有什么想法吗?
谢谢
答案 0 :(得分:1)
我最近在将我的Ember应用程序连接到rails后端时遇到了同样的问题。我收到此错误的原因是因为我发送给ember的JSON数据不是Ember所期望的。确保您获得的数据集可以转换为您在ember中定义的模型。
例如: 如果进来的数据如下:
{
contacts: [
{name:"contact1"....
}, ...
],
buildings: [
{...
}, ...
]
}
然后,ember将期望有一个联系模型和建筑模型。此外,请确保如果在ember中定义没有任何属性的模型,则会正确关闭它。我也碰到了那个。
例如:
App.Contact = DS.Model.extend
需要
App.Contact = DS.Model.extend()
如果ember模型没有属性。