在構建我的restful api時,我基本上遵循了Ember的RESTAdapter約定。獲取相關模型數據ember.js
我有一個模型post
和一個模型tags
,一個多對多的關係。由於我只會找到與帖子相關的標籤,我沒有定義相反的帖子。
所以我在後期模型tags: hasMany('tag')
中得到了這個,在restful api中它返回了tags: ["1", "2", "3"]
等等,就像它假設的那樣。
所以現在我想知道如何在posts/1
url上獲得這些標籤。當我查看商店時,它沒有檢索到任何標籤。我如何訪問標籤數據及其屬性?
App.Tag = DS.Model.extend({
name: attr()
});
App.Post = DS.Model.extend({
active: attr(),
name: attr(),
organization: attr(),
user_id: attr(),
submitted_ts: attr(),
status: attr(),
tags: hasMany('tag')
});
{
"post": {
"0": {
"id": "1",
"active": "A",
"name": "This is a test title",
"organization": "Stryker",
"user_id": "0",
"submitted_ts": "1402664380",
"status": "finalized"
},
"tags": [
"30",
"1",
"14"
]
},
"tags": [
{
"id": "30",
"type": "asdf",
"name": "KNEE",
"pivot": {
"case_id": "1",
"id": "30"
}
},
{
"id": "1",
"type": "therapy",
"name": "more things",
"pivot": {
"case_id": "1",
"id": "1"
}
},
{
"id": "14",
"type": "therapy",
"name": "asdfasdf",
"pivot": {
"case_id": "1",
"id": "14"
}
}
]
}
串行器是無關的這一號召
App.SpecialtySerializer = DS.JSONSerializer.extend({
primaryKey: 'specialty_id'
});
App.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: 'api/v1',
headers: function() {
return {
authToken: this.get('auth.authToken')
};
}.property("auth.authToken")
});
只需要訪問標記也許我很困惑的你試圖嘗試的是,你試圖獲取標籤異步,還是你想讓他們在同一時間下降? – Kingpin2k
與帖子屬於同一類型。我返回的json就像 '{post:{...}} .....標籤:{...}格式很糟糕,我知道。但基本上這些標籤在帖子的json請求中。 – user1952811
你會爲上面的帖子和標籤顯示你的模型定義,也許會拋出一個json的例子,並且你說你正在使用RESTAdapter,這是否仍然適用? – Kingpin2k