我正在开发一个 Rails 应用程序,它将显示食物的营养成分。我只想显示用户想要看到的营养素。
所以,我有模型:
- 食物:
- 养分:
- FoodNutrient:指定每种食物中每种营养素的数量
- UserNutrient:指定用户希望看到哪些营养素 我将拥有数千种食物和 100 多种营养素
我看到几个来源提供了有关如何处理这种复杂性的提示(现在我正在考虑尝试使用 Arel)。但是,这些来源通常不会提供示例,也不会提示我们应该如何处理视图。我找到了这个,但希望对这个问题有更多的意见,特别是关于所涉及的大数据。
那么,在我的索引视图中处理这个问题的最佳方法是什么?
我的另一个疑问是,使用 FoodNutrient 模型是否会更好地提高性能,或者最好在 Food 模型中包含列,其中每个新列都代表一种营养素。我认为 FoodNutrient 赌注更好,因为用户会选择他会看到哪些营养素,但我不确定。
我将不胜感激任何可能对我有帮助的示例、解释、建议、反馈或参考。
已编辑
由于有人不理解我的问题的一些评论,我将尝试用其他语言来总结它。
我想从前 3 个模型中获取数据,最后一个(UserNutrient)我将使用它来减少向用户显示的行数。
正如我想展示的那样:
Food Name | Nutrient 1 | Nutrient 2 | Nutrient 3
_______________________________________________________
Food 1 10 40 7.3
Food 2 9 4.4 9.1
我知道我会在 Food 上有一个循环,上面显示的每一行都会迭代一个。而且我还必须在第一个循环内迭代 UserNutrient 以显示每种食物的营养量(此数据在 UserNutrient 上)。主要问题是如何执行这些循环,特别是考虑到表将包含大量数据。这个好像有点像,虽然不是很懂。
我的另一个疑问是结构是否是最好的。FoodNutrient 和 Food 表可以合并。