2016-03-01 42 views
1

我有一個配方模型和成分模式,在我的食譜模型我已經和類型的數組稱爲成分的領域。在這個數組中,我嘗試存儲配料模型中選定配料的ID和配料的數量。 例如如何寫入表單中的Mongoid數組或哈希?

['chicken',400,'rosemary',5, ...] 

我想創建,然後會是這個樣子

<div class="field"> 
<%= f.label :ingredients %><br> 
<%= f.collection_select %> #ingredients from db 
<%= f.text_field %> #Ammount in grams 
</div> 

視圖的想法是,列出的成分時,所有我必須做的refrence

ingredients[1] || ingredients[2] 
ingredients[3] || ingredients[4] 
. 
. 
ingredients[n] || ingredients[n] 

基本上是表單中每個字段的內容將按順序添加到數組中。

我要存儲這些像這一次我有成分ID的話,我需要查詢的成分DB和計算總的營養價值,如卡路里或蛋白質的名單,但是這是一個不同的問題的原因。

回答

1

我強烈推薦這裏使用嵌入式文檔的成分。該數組可能很好而且緊湊,但爲嵌入式文檔創建表單要容易得多。您還可以通過配料的字段查詢數據庫的更多可能性。

PS:對於arrarys使用text_field_tag 'something[]'使陣列。