2014-09-13 51 views
1

我正在使用ember-cli並試圖弄清楚應用程序的結構以及它如何連接在一起。主要的Ember指南文檔和我在這個由ember-cli生成的項目中看到的內容有一些差異。我知道API正在快速發展,所以我只需要指出正確的方向。如何正確使用ember-cli項目結構的燈具

在router.js我有以下幾點:

Router.map(function() { 
    this.route('domains', {path: "/domains" }); 
}); 

然後,我有型號/ domain.js

import DS from 'ember-data'; 

var Domain = DS.Model.extend({ 
    name: DS.attr('string') 
}); 

Domain.reopenClass({ 
    FIXTURES: [ 
    { id: 1, name: 'User'}, 
    { id: 2, name: 'Address'} 
    ] 
}); 

export default Domain; 

而且我有路線/ domains.js

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model: function() { 
     return this.store.all('domain'); 
    } 
}); 

最後(我認爲),我有模板/ domains.hbs

<h1>Domains</h1> 

{{#each}} 
    <p>{{name}}</p> 
{{/each}} 

當我訪問http://localhost:4200/domains網址時,只顯示標題。我使用了ember chrome擴展,並且在請求中看不到任何數據。我不確定這是一個命名約定問題還是我做錯了,所以任何幫助表示讚賞。

回答

1

該問題最終成爲2倍。 Kingpin2K是正確的,我需要使用find而不是all。我也不得不改變adapters/application.js:

export default DS.FixtureAdapter.extend(); 
2

all只是返回已在商店中找到的記錄。 find將發出一個請求(在這種情況下擊中固定裝置)並填充商店,並返回商店中的所有記錄。

this.store.find('domain'); 
+0

感謝適配器以下,當我改變它來尋找我上/域網址404在Chrome的調試控制檯和頁面不呈現。 – Gregg 2014-09-13 01:52:08

+0

我也收到'處理路由時出錯:域' – Gregg 2014-09-13 02:23:49