【发布时间】:2013-03-06 20:24:49
【问题描述】:
Emberjs 是否支持单向关系?考虑一下我想用三个模型存储有关食谱的信息:
-
Ingredient- 始终存在。给出
name和description。 - 没有任何东西“拥有”一种成分,它们也不应该在新引用时被复制,或者在引用被破坏时被破坏。他们只是是。
- 始终存在。给出
-
IngredientAddition- 由一个
Ingredient和添加成分的时间/谁和数量的信息组成 - 许多
IngredientAddition对象可以使用相同的成分。
- 由一个
-
Recipe- 由许多
IngredientAddition对象和辅助信息组成。
- 由许多
据我了解,我的模型如下所示:
App.Ingredient = DS.Model.extend({
name: DS.attr('string'),
desc: DS.attr('string'),
});
App.IngredientAddition = DS.Model.extend({
how: DS.attr('string'),
qty: DS.attr('string'),
recipe: DS.belongsTo('App.Recipe'),
});
App.Recipe = DS.Model.extend({
desc: DS.attr('string'),
ingredients: DS.hasMany('App.IngredientAddition'),
});
但是,这并没有捕捉到IngredientAddition 和Ingredient 之间的关系。 DS.hasMany 似乎不合适,因为每个 IngredientAddition 都只有一个 Ingredient。 DS.belongsTo 不合适,因为 Ingredient 的生命周期不是由 IngredientAddition 的存在(或不存在)决定的。
如何获取这些信息?我查看了ember-data 源,除了hasMany 和belongsTo,我找不到任何关系类型。
【问题讨论】:
标签: model ember.js relationship ember-data