在这种情况下,我应该如何在余烬中放置我的模型有很多关系
How should I lay my model in ember in case of this hasMany relations?
我从服务器发送的JSON如下所示,
{"selectFill":{"user":[{"userId":"Gru","department":"Villain"},{"userId":"Sulley","department":"Scare"},{"userId":"Popeye","department":"Sailer"}]}}
我的模型是这样的,
App.SelectFill = DS.Model.extend({
users: DS.hasMany('user',{
embedded: true
})
});
App.User = DS.Model.extend({
userId: DS.attr('string'),
department: DS.attr('department')
});
App.SelectFillSerializer = DS.WebAPISerializer.extend({
extractArray: function (store, type, payload, id, requestType) {
var primaryTypeName = type.typeKey;
var typeName = primaryTypeName,
type = store.modelFor(typeName);
var selectFill = [];
selectFill.push(payload.selectFill);
var newi = {};
newi[typeName] = selectFill;
return this._super(store, type, newi, id, requestType);
}
});
我在Chrome调试器中使用ember检查器检查了代码,我可以在SelectFill中看到1条记录,但它是空的。用户记录也是空的。你能告诉我,我在这里做错了什么吗?我是Ember的新手,我试着进入Ember源代码和我的大脑,我的大脑开始旋转。每个人都通过深入Ember源代码来调试他们的代码吗?
您需要将数据转换为这种格式,并且您需要所有记录的id(如果您希望userId是用户的id,请将其从模型定义中删除并添加到适配器中)
{
"selectFill":
{
id:'something',
"users":['Gru', 'Sulley','Popeye']
},
"users":[
{"userId":"Gru","department":"Villain"},
{"userId":"Sulley","department":"Scare"},
{"userId":"Popeye","department":"Sailer"}]
}
App.UserAdapter = DS....extend({
primaryKey: 'userId'
});
https://github.com/emberjs/data/blob/master/TRANSITION.md
相关文章:
- Angular没有根据模型更新我的选择元素
- 为什么我的指令(使用链接)没有出现,并允许ng模型看到它
- 在我的php模型中用javascript更改一个html类
- 为什么我的视图模型不起作用
- 在这种情况下,我应该如何在余烬中放置我的模型有很多关系
- 我的html5应用程序无法显示模型
- 当输入键由jquery触发时,我的模型是未定义的
- 命名空间我的骨干模型
- 为什么我的作用域函数没有获取从模型传递的数据
- 如果ng-if的计算结果为false,AngularJS会使我的模型数据无效
- ng模型没有更新我的对象值
- MVC4剃刀在客户端javascript中访问我的模型中的JsonResult数据
- Knockout JS将我的视图模型创建更改为使用映射pulgin
- 为什么我的骨干.js集合重置只是添加 1 个模型
- NodeJS和Express - 将我的控制器和模型分开
- 在我的情况下,ng 模型返回未定义
- 无法在 javascript 中使用我的模型数据
- 我的表单没有将参数存储在模型中
- 为什么我的模型中的默认属性返回未定义
- KnockoutJS 绑定在我的视图模型实际创建之前应用