2013-12-10 76 views
0

我在我一直試圖擺脫困境的Ember應用程序中碰到一個障礙。我有一個像以下兩種模式:Emberjs在父模型模板中顯示關聯數據

App.UserModel = DS.Model.extend({ 
    ../ 
    actions: DS.hasMany('action') 
}); 

App.ActionModel = DS.Model.extend({ 
    ../ 
    user: DS.belongsTo('user') 
}); 

我查看用戶配置文件路徑如下:

App.UsersProfileRoute = Em.Route.extend({ 
    model: function(params) { 
    return this.get('store').find('user', params.user_id); 
    } 
}); 

其中抓起,從服務器的結構如下:

{ 
    user: { 
    action_ids: [1, 2, 3] 
    }, 
    actions: [{ 
    id: 1, 
    type: "Problem" 
    },{ 
    id: 2, 
    type: "Problem" 
    },{ 
    id: 3, 
    type: "Problem" 
    }] 
} 

這根據Ember的Chrome擴展程序正確加載商店。然而,當我嘗試訪問該協會的數據模板,像這樣:

<h2>Actions</h2> 
<div class="container"> 
    {{#each actions}} 
    you have action 
    {{else}} 
    You don't have actions 
    {{/each}} 
</div> 

看來,聯想的動作爲空或null,因爲它沒有通過#each檢查甚至與灰燼商店顯示正確存儲的信息。

我已經嘗試了一些像{{#each action in model.actions}}等模板,但無濟於事。任何幫助,將不勝感激!

回答

1
user: { 
    action_ids: [1, 2, 3] 
}, 

應該

user: { 
    actions: [1, 2, 3] 
}, 
+0

當利用與EmberData的RESTAdapter而不是FIXTUREAdapter? – Aric

+1

在ED 1.0 beta和更新版本 – Kingpin2k

+1

https://github.com/emberjs/data/blob/master/TRANSITION.md – Kingpin2k