【发布时间】:2014-02-09 20:01:07
【问题描述】:
我接手了一个稍有损坏的 ember 项目,但我什至无法让最基本的模型工作。我已经注释掉了前一个项目的所有代码,基本上只有这个:
App = Ember.Application.create();
App.ApplicationAdapter = DS.FixtureAdapter.extend
App.Admin = DS.Model.extend(
userName: DS.attr("string")
roles: DS.attr("string")
)
App.Admin.FIXTURES = [
{
userName: 'Tester One'
roles: 'six-sided die'
}
{
userName: 'Tester Two'
roles: 'four-sided die'
}
]
App.Router.map ->
@route 'about', { path: '/about' }
@resource 'admins', { path: '/admins' }
App.AdminsRoute = Ember.Route.extend
model: ->
return @store.find('admin')
它内置在 Rails 4.0.1 应用程序中(运行 ember-rails 的 0.14.1 和 ember-source 的 1.3.2)。当我转到根页面时,我看到了正确的 ember 模板。当我单击about 的链接时,我会被路由到about 模板。但是当我点击admins 或转到/admins 时,而不是让它呈现admins 模板(这只是一些静态文本),我在我的js 控制台中收到了这个错误:
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;
Class.PrototypeMixin.o...<omitted>... } has no method 'create'
随后是 ember 代码中的一堆回溯。我不会在任何地方打电话给create,它给应用程序中的其他模型带来了类似的错误,我(此后)已经注释掉了。我已经尝试按照 ember 指南构建它,因为它肯定会起作用。
Ember 检查器使用AdminsController 和admins 模板在/admins 看到一个名为AdminsRoute 的admins 路由。
简单地说,我不知道如何进一步调试。
我已经尝试了多个版本的 ember/-data,但目前我正在使用 1.4.0-beta.6 和 1.0.0-beta.6 并且仍然出现此错误。
谢谢!
【问题讨论】:
-
重启 Chrome 后报错:
Error while loading route: TypeError: undefined is not a function。在 Firefox 上尝试,错误仍然不同:Error while loading route: instantiate@http://localhost:3000/等。
标签: javascript ruby-on-rails ember.js ruby-on-rails-4