2013-08-25 183 views
1

好吧,我一直在用我的頭撓了一會兒。我試圖通過RESTful API加載一些簡單的數據,但是我無法獲取數據實際顯示出來。我可以看到正在進行正確的API調用(auth頭設置正確)並且數據正在返回,但它從來沒有出現。任何幫助將不勝感激。Ember.js沒有渲染數據

這裏是我的javascript:

window.App = Ember.Application.create(); 

App.Store = DS.Store.extend({ 
    revision: 13 
}); 
DS.RESTAdapter.reopen({ 
    namespace: 'api', 
    headers: { 
    'X_AUTH_TOKEN': user_api_key 
    } 
}); 

App.Router = Ember.Router.extend(); 
App.Router.map(function() { 
    this.resource('config_items'); 
}); 

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

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

而且模板(以HAML):

%script(type="text/x-handlebars" data-template-name="config_items") 
    %ul#config-item-list 
    {{#each controller}} 
    %li {{name}}: {{value}} 
    {{/each}} 

而由API調用返回的數據:

{"config_items":[ 
    { 
    "id":6, 
    "organization_id":1, 
    "name":"test", 
    "value":"1234", 
    "created_at":"2013-08-24T00:54:07Z", 
    "updated_at":"2013-08-24T00:54:07Z" 
    },{ 
    "id":9, 
    "organization_id":1, 
    "name":"qwer", 
    "value":"tyui", 
    "created_at":"2013-08-24T01:02:35Z", 
    "updated_at":"2013-08-24T01:02:35Z" 
    },{ 
    "id":11, 
    "organization_id":1, 
    "name":"6666666", 
    "value":"gggg", 
    "created_at":"2013-08-24T01:02:59Z", 
    "updated_at":"2013-08-24T01:02:59Z" 
    } 
]} 

回答

0

爲了使您的項目顯示出您需要對代碼進行一些更改。

讓我們開始吧,首先刪除此行:

App.Router = Ember.Router.extend(); 

這是沒有必要的,因爲燼會查找你App命名空間一個名爲Router已經財產。

然後,改變你的路由器映射到這一點,添加{path: '/'},這將使訪問'/'時,我們已經在config_items資源path屬性定義它的config_items模板直接呈現。

App.Router.map(function() { 
    this.resource('config_items', {path: '/'}); 
}); 

最後加入從中model勾調用find()

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

最後但並非最不重要這裏演示一種的ConfigItemsRoutehttp://jsbin.com/odosoy/110/edit

希望它能幫助。

+0

謝謝!這解決了問題,現在出現了數據。不幸的是,它顯示在文檔的末尾,而不是出現在模板的位置:(回到Google! – okalex

+0

@okalex,嗯,奇怪,是'config_items'你唯一的模板嗎? – intuitivepixel

+0

目前,是的,但我會一旦我正確地工作,就要添加額外的模板。 – okalex