Ember.js 余烬罐';无法从多个关系中获取数据
我尝试使用余烬数据构建Rails+Ember应用程序 型号:Ember.js 余烬罐';无法从多个关系中获取数据,ember.js,ember-data,Ember.js,Ember Data,我尝试使用余烬数据构建Rails+Ember应用程序 型号: 导出默认DS.Model.extend({ 名称:DS.attr('string'), 内容:DS.attr('string'), 前面的图像:DS.attr('string'), 创建时间:DS.attr('date'), 更新地址:DS.attr('date'), 状态:DS.attr('number'), 注释:DS.hasMany('comment',{async:true}), 用户:DS.belongsTo('user')
导出默认DS.Model.extend({
名称:DS.attr('string'),
内容:DS.attr('string'),
前面的图像:DS.attr('string'),
创建时间:DS.attr('date'),
更新地址:DS.attr('date'),
状态:DS.attr('number'),
注释:DS.hasMany('comment',{async:true}),
用户:DS.belongsTo('user'),
});
然后像这样获取json(json是使用活动的\u model\u序列化程序生成的)
{“工作”:{
“id”:3,
“用户id”:1,
“内容”:“我的第一张照片”,
“image_before”:“image_before/original/AnViWyuup5I.png”,
“创建时间”:“2015-08-11T16:57:24.153Z”,
“更新时间”:“2015-11-13T11:39:44.076Z”,
“地位”:1,
“注释ID”:[13]
},
“评论”:[{
“id”:13,
“文本”:“好!”,
“创建时间”:“2015-09-28810:34:16.461Z”,
“用户id”:2
}]
}
模板为:
{{model.content}
注释({model.Comments.length}):
{{{#每个模型.注释为{注释}
{{comment.text}
{{/每个}}
在页面上,我得到了关于工作和评论的所有信息(0),但Chrome的余烬检查器显示了评论
如何打印注释?您的模型定义应为:
comments: DS.hasMany('comment', {async: false}),
因为相关数据是与响应一起加载的,而不是异步获取的。
如果这是一个Ember 2.0应用程序,默认的异步设置为true
。从余烬博客(,我的重点):
在Ember Data 2.0中,默认情况下,关系将是异步的。同步
仍将支持关系,但您需要手动
通过在关系上设置{async:false}来选择它们。余烬
数据1.13将记录一个弃用警告,如果您有任何
未显式设置async属性的关系。
此外,您还可以使用ember watson来帮助识别您的客户中的案例
没有显式异步的关系的代码库
财产
您的模型定义应为:
comments: DS.hasMany('comment', {async: false}),
因为相关数据是与响应一起加载的,而不是异步获取的。
如果这是一个Ember 2.0应用程序,默认的异步设置为true
。从余烬博客(,我的重点):
在Ember Data 2.0中,默认情况下,关系将是异步的。同步
仍将支持关系,但您需要手动
通过在关系上设置{async:false}来选择它们。余烬
数据1.13将记录一个弃用警告,如果您有任何
未显式设置async属性的关系。
此外,您还可以使用ember watson来帮助识别您的客户中的案例
没有显式异步的关系的代码库
财产
问题解决了。默认情况下,DS.HASSOMY关联的ID不会添加到序列化的对象() 应该加上
导出默认DS.ActiveModelSerializer
.extend(DS.EmbeddedRecordsMixin)
.延伸({
属性:{
注释:{序列化:'ids',反序列化:'ids'}
}
});
问题已解决。默认情况下,DS.HASSOMY关联的ID不会添加到序列化的对象()
应该加上
导出默认DS.ActiveModelSerializer
.extend(DS.EmbeddedRecordsMixin)
.延伸({
属性:{
注释:{序列化:'ids',反序列化:'ids'}
}
});
啊,我误读了你的问题-我错过了活动模型部分(编辑:我没有足够的信誉对所选答案发表评论)啊,我误读了你的问题-我错过了活动模型部分(编辑:我没有足够的信誉对所选答案发表评论)