2013-07-23 50 views
0

我有以下Ember應用程序。但是,當我去/products路線我已經得到了以下錯誤:Error while loading route: TypeError {}無法使用emberJS加載數據

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(); 
    } 
}); 

回答

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') 
}); 

希望這將有助於。