2017-04-26 126 views
0

我無法使Ember的queryRecord正常工作。我試圖從服務器獲取一個站點配置。Ember模型查找記錄

//app/routes/application.js

model: function(){ 
    return this.get('store').queryRecord('config',{}).then(function(config) { 
    console.log(config.get('appname')); 
    }); 
} 

//app/adapters/config.js

import DS from "ember-data"; 
import ENV from './../config/environment'; 

export default DS.Adapter.extend({ 
    queryRecord(modelName, query) { 
     return Ember.$.getJSON(ENV.APP.apiFull + 'config'); 
    } 
}); 

//app/serializers/applications.js

import DS from 'ember-data'; 

export default DS.RESTSerializer.extend({ 
    keyForAttribute: function(attr, method) { 
    return Ember.String.underscore(attr).toUpperCase(); 
    } 
}); 

//從服務器AJAX返回的JSON

{"config":{"id":1,"environment": "development", "appname":"Sample App Name"}} 

// app/routes/application中的console.log語句返回undefined。這一切似乎都與2.9版的Ember文檔相匹配。我做錯了什麼?

+0

邊注:不要忘記返回模型鉤子的結果。 – kumkanillam

+0

我在模型鉤子中添加了返回值,但問題陳述保持不變。 – user6041966

+1

Ajax響應看起來是REST格式,所以adapters/config.js文件應該擴展'DS.RESTAdapter' -https://emberjs.com/api/data/classes/DS.RESTAdapter.html#method_queryRecord – kumkanillam

回答

0

@Lux,感謝指向我的序列化器。這導致我查看了模型成員名稱,並發現我在模型中強調了他們,但不是來自服務器的JSON。