0

我有以下 Ember 应用程序。但是当我去/products路线时,我遇到了以下错误:Error while loading route: TypeError {}

var App = Ember.Application.create();
App.Router.map(function() {
  this.route('products');
});

DS.Store.extend({
  revision: 11,
  adapter: DS.RESTAdapter.create()
});

var Product = DS.Model.extend({});

var ProductsRoute = Ember.Route.extend({
  model: function() {
    return App.Product.find();
  }
});
4

1 回答 1

1

首先,您的代码不会运行,因为您的模型和路线不存在是App. 它应该如下所示:

var App = Ember.Application.create();
App.Router.map(function() {
    this.route('products');
});

DS.Store.extend({
    revision: 11,
    adapter: DS.RESTAdapter.create()
});

App.Product = DS.Model.extend({});

App.ProductsRoute = Ember.Route.extend({
    model: function() {
        return App.Product.find();
    }
});

接下来,您可能需要替换:

this.route('products');

和:

this.resource('products');

当你使用RESTAdapter.

最后DS.Model应该指定它应该从 JSON 响应中使用哪些字段:

App.Product = DS.Model.extend({
    name: DS.attr('string')
});

希望它会有所帮助。

于 2013-07-23T09:01:57.987 回答