bwb*_*ing 3 ember.js ember-data
我正在开发一个非常基本的ember应用程序,但我似乎无法让它显示belongssto模型.
我的用户模型:
News.User = DS.Model.extend({
username: DS.attr('string'),
items: DS.hasMany('News.Item')
});
News.User.FIXTURES = [
{
"id": 1,
"username": "Bobba_Fett",
"items": [1,2]
}]
Run Code Online (Sandbox Code Playgroud)
我的商品型号:
'use strict';
News.Item = DS.Model.extend({
title: DS.attr('string'),
url: DS.attr('string'),
domain: DS.attr('string'),
points: DS.attr('number'),
comments: DS.hasMany('News.Comment'),
user: DS.belongsTo('News.User')
});
News.Item.FIXTURES = [
{
"id": 1,
"title": "This is story 1",
"url": "http://google.com",
"domain": "google.com",
"points": 45,
"comments": [1,2,3],
"user_id": 1
},
{
"id": 2,
"title": "This is another story",
"url": "http://yahoo.com",
"domain": "yahoo.com",
"points": 30,
"comments": [1,2,3],
"user_id": 1
}
]
Run Code Online (Sandbox Code Playgroud)
我的HTML(问题是用户名没有显示,只是空白),其他一切显示正常:
<script type="text/x-handlebars" data-template-name="items">
<div class="row">
<ul>
{{#each itemList}}
<a href="upvote">▲</a><a {{bindAttr href="url"}}>{{title}}</a> ({{domain}})<br />
<small>{{points}} Ups -- submitted by {{user.username}}</small><br />
{{/each}}
</ul>
</script>
Run Code Online (Sandbox Code Playgroud)
问题出在News.Item.FIXTURES声明中,"user_id"应该命名为just "user",因为这是关系在Model定义中得到的属性的名称.
这应该工作:
News.Item.FIXTURES = [
{
id: 1,
title: "This is story 1",
url: "http://google.com",
domain: "google.com",
points: 45,
comment": [1,2,3],
user: 1
},
{
id: 2,
title: "This is another story",
url: "http://yahoo.com",
domain: "yahoo.com",
points: 30,
comments: [1,2,3],
user: 1
}
];
Run Code Online (Sandbox Code Playgroud)
编辑:我不知道你是否仍然在研究这个问题,但是这里有一个工作小提示你的代码,请注意我必须添加一个空模型News.Comments = DS.Model.extend({});才能工作:
希望这有帮助!
| 归档时间: |
|
| 查看次数: |
4431 次 |
| 最近记录: |