我有一个Ember应用程序,其中一些模型使用Ember数据,有些则不使用 . 我的问题涉及创建这些模型之间的关系以及构建模型关系的最佳方式 .
型号
目前我有以下型号:
-
食物
-
不使用Ember数据
-
向外部API发出$ .ajax请求
-
餐
-
使用Ember数据
-
有很多部分
-
部分
-
使用Ember数据
-
hasOne Meal
-
hasOne Food
在我的应用程序中,我需要一个部分作为一个具有 weight
字段的唯一记录 . 每个部分都应从相关的 Food
中获取其他值 . 膳食应包含许多部分 .
问题
-
如果部分本身就是一个模型我们应该将它存储在某种类似于数组的结构中作为
Meal
上的字段(例如:portions
)吗?考虑到部分不可重复使用,只能与单个膳食相关联 . -
如果"Yes"到#1那么我的
Meal
模型def会是什么样子? -
由于
Food
不使用Ember Data什么是定义部分和食物之间关系的最佳技术?
最终用户体验应该允许某人
-
查看食物
-
创建该食物的一部分
-
将部分与膳食相关联
-
查看与膳食相关的所有部分
非常感谢您的帮助 .
1 回答
Q1 :如果部分本身就是一个模型我们应该将它存储在某种类似阵列的结构中作为膳食上的字段(例如:部分)吗?
我不确定你是在问
Portions
应该是模特还是Portion
应该是模特 . 但无论我认为解决方案是将Portion
构建为模型并为Meal
模型构建portions
关系 . 因为你有功能来创造食物的一部分 . 在我的理解中,应该在没有用餐的情况下创建该部分(尽管它可以在以后与膳食相关联) .Q2 :如果"Yes"到#1那么我的膳食模型def会是什么样子?
模型定义是这样的:
Q3 :由于Food不使用Ember Data什么是定义部分和食物之间关系的最佳技术?
最好仍然使用Ember Data定义
Food
模型,只需定义自定义适配器和序列化器,Ember Data处理其余部分 . DS.Adapter和DS.Serializer文件是开始的好地方 . 下面是一个简单的例子 .