EmberJS 在早期版本中删除了 hasOne。什么方法可以创建我想要的嵌套对象关系 hasOne
删除 hasOne 以支持 belongsTo,任何人都可以分享关于如何编写嵌套 JSON 之间的 {embedded : always} 关系的想法。
EmberJS 在早期版本中删除了 hasOne。什么方法可以创建我想要的嵌套对象关系 hasOne
删除 hasOne 以支持 belongsTo,任何人都可以分享关于如何编写嵌套 JSON 之间的 {embedded : always} 关系的想法。
我知道这个问题已经过时并且已经得到解答,但由于它是“ember hasone”的热门搜索结果之一,我想分享我在这个主题上的发现。我已经阅读了第一个答案中的链接,但这个例子有点过时了。
“embedded”标志已过时,“DS.RESTAdapter.map”不是函数,“DS.hasOne”方法已弃用。
当前用于模拟“hasOne 关系”的 1.0.0-beta.2 解决方案只是使用“DS.belongsTo”。它们并没有太大的不同,您只需将 hasOne foreignKeys 添加到结果集中,就像使用 belongsTo 一样。
来源: https ://github.com/emberjs/data/commit/a466741a36731c5d382df33461268024627325ef
这是来自复杂模型的示例服务器响应。
{"users": [{
"id": 1,
"name": "John Doe",
"profile": 27, // merged hasone
"image": 3, // merged hasone
"account_id": 64 // an actual belongsTo
}]}
然后作为模型
App.User = DS.Model.extend({
name: DS.attr('string'),
profile: DS.belongsTo('profile'),
image: DS.belongsTo('image'),
account_id: DS.belongsTo('account')
});
希望这可以帮助任何寻找有关如何建模 hasOne 的信息的人
您必须在适配器上设置映射,请参阅此答案以获取工作示例。