我有一个这样的余烬数据模型:
var attr = DS.attr,
hasMany = DS.hasMany,
belongsTo = DS.belongsTo;
App.Message = DS.Model.extend({
partner_pk: attr(),
message: attr(),
user: belongsTo('user', {async: true}),
inquiry: belongsTo('inquiry', {async: true}),
created_at: attr(),
updated_at: attr()
});
并路由返回数据数组,如下所示:
App.TripMessagesRoute = Ember.Route.extend({
model: function(){
return this.store.find('message', {inquiry_id: 2});
}
})
我的rest-api返回类似这种格式的数据:
{
"data": [
{
"id": 10,
"message": "this message is updated by ember.js",
"inquiry_id": 2,
"user_id": 1,
"created_at": "2014-08-05 14:20:46",
"updated_at": "2014-08-05 14:20:46"
},
{
"id": 17,
"message": "this is a test message by ember.js",
"inquiry_id": 2,
"user_id": 39,
"created_at": "2014-08-26 17:34:55",
}
]
}
在我的模板中,我显示的属性如下:
<script type="text/x-handlebars" data-template-name="trip/messages">
<h2>message is: {{message}}</h2> <!-- This works fine -->
<h2>User id: {{log user}}</h2> <!-- it gives null -->
<h2>User id: {{log user_id}}</h2> <!-- it gives undefined -->
</script>
我的问题是如何在模板中显示 user_id 。提前谢谢。
答案 0 :(得分:0)
默认情况下,Model定义中的属性名称应与JSON中返回的属性匹配。
您的选择是......
user_id: belongsTo('user', {async: true})
"user_id": 39
user_id
更改为序列化程序中的user
。然后,您应该可以在模板中添加{{user.id}}
之类的内容。