[英]Get related model data ember.js
构建我的静态API时,我基本上遵循了Ember的RESTAdapter约定。
我有一个模型post
和一个模型tags
,多对多关系。 由于我将只查找与帖子相关的标签,因此我没有定义相反的标签。
因此,我在post模型tags: hasMany('tag')
拥有了这个tags: hasMany('tag')
,在restful api中它返回了tags: ["1", "2", "3"]
等,就像它应该那样。
所以现在我想知道如何在posts/1
网址上获取这些标签。 当我在商店中查找时,没有任何标签被检索。 如何访问标签数据及其属性?
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")
});
当您有这样的标签时,您是说标签信息随着帖子的请求而下降。 如果不正确,则需要将标签标记为异步
tags: hasMany('tag')
如果它包含在发帖请求中,则只需执行post.get('tags')
访问标签
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.