我有一个食谱模型和一个成分模型,在我的食谱模型中我有类型阵列的字段称为成分。在这个数组中,我试图存储成分模型中所选成分的ID以及该成分的数量。 e.g。
['chicken',400,'rosemary',5, ...]
我试图创建的视图看起来像这样
<div class="field">
<%= f.label :ingredients %><br>
<%= f.collection_select %> #ingredients from db
<%= f.text_field %> #Ammount in grams
</div>
这个想法是,当我列出所有成分时,我必须做好参考
ingredients[1] || ingredients[2]
ingredients[3] || ingredients[4]
.
.
ingredients[n] || ingredients[n]
基本上表单中每个字段的内容只是按顺序添加到数组中。
我想这样存储它们的原因是,一旦我有成分ID列表,我就需要查询成分DB并计算总营养价值,如卡路里或蛋白质,但这是一个不同的问题
答案 0 :(得分:1)
我强烈建议您在此处使用嵌入式文档作为成分。该数组可能很好而且紧凑,但是为嵌入式文档创建表单要容易得多。您还可以通过成分的字段查询数据库。
PS:对于arrarys使用text_field_tag 'something[]'
制作数组。