2013-09-22 28 views
0

我正在開發一個Rails應用程序,它將用其營養素顯示食物。我只想顯示用戶想要看的營養素。如何在Rails索引視圖中訪問複雜數據(如子數據)?

所以,我有型號:

  • 食物:
  • 營養:
  • FoodNutrient:指定各食品
  • UserNutrient每種營養素的數量:指定哪些營養素用戶希望見 我會有成千上萬的食物和100多種營養素

我看到幾個來源提示如何處理這種複雜性(現在我正在考慮嘗試使用Arel)。但是,這些來源通常不會提供任何示例,也不能暗示我們應如何處理這些意見。我找到了this one,但希望能就這個問題提出更多意見,特別是關於涉及的大數據。

那麼,在我的索引視圖中處理這個問題的最好方法是什麼?

我的另一個疑問是,如果食物營養素模型的性能更好,或者在食物模型中包含每列都代表養分的食物模型更好。我猜想FoodNutrient的賭注比較好,因爲用戶會選擇他會看到的營養素,但我不確定。
我將不勝感激任何示例,解釋,建議,反饋或參考,可以幫助我。

編輯

由於有來自人們不明白我的問題的一些意見,我會盡量把它總結一下,換句話說。

我想從前三個模型中獲取數據,並使用最後一個(UserNutrient)來減少顯示給用戶的行數。

正如我想表明這樣的:

Food Name | Nutrient 1 | Nutrient 2 | Nutrient 3 
_______________________________________________________ 
Food 1  10    40    7.3 
Food 2  9    4.4   9.1 

我明白,我不會對食品一個循環,將遍歷每個上面顯示的行之一。而且我還需要在第一個循環內部重複UserNutrient,以顯示每種食物的營養物質數量(這些數據位於UserNutrient上)。主要的問題是如何做這些循環,特別是考慮到表格會有很多數據。 This one似乎有點相似,雖然我不太明白。

我的其他疑問是如果結構是最好的。食物營養素和食物表可以合併。

+0

你有一個你想如何顯示數據的模型? – dax

+0

這裏有什麼問題? –

+0

謝謝你試圖回答我的問題。我編輯它。我希望現在好一點。 –

回答

0

我已經研究過這個問題,現在我決定合併食物營養素和食物表/模型作爲食物。 我相信有很多行的FoodNutrient會更糟糕,因爲它會有一個巨大的索引。比有許多專欄的食物表更糟糕。

這篇文章幫我決定:

http://rails-bestpractices.com/posts/58-select-specific-fields-for-performance

如果你有什麼要補充的,請回答這個問題太或添加評論。

相關問題