我已经接管了一个稍微破裂的余烬项目,但是即使是最基本的模型也无法使用。我已经注释掉了前一个项目的所有代码,基本上就是这样:

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)。当我进入根页面时,会看到正确的余烬模板。当我单击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'


接下来是在余烬代码中的一堆回溯。我没有在任何地方调用create,并且我(因为)已将其注释掉,这对于应用程序中的其他模型也给出了类似的错误。我已经尝试按照余烬指南进行构建,以确保可以正常工作。

灰烬检查器使用admins处的AdminsRouteAdminsController模板查看名为admins/admins路由。

简而言之,我不知道如何进一步调试它。

我已经尝试了几个版本的ember / -data,但是目前我正在使用1.4.0-beta.6和1.0.0-beta.6并仍然收到此错误。

谢谢!

最佳答案

这是将coffeescript与ember一起使用时的常见错误,您必须进行更新

App.ApplicationAdapter = DS.FixtureAdapter.extend



App.ApplicationAdapter = DS.FixtureAdapter.extend()

关于javascript - Ember :加载路线时出错:TypeError:对象函数…没有方法'create',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21664268/

10-12 07:37