2011-01-26 103 views
0

我不是,爲什麼在我的Rails應用程序我的疑問是如此之大清楚,比如我有一個這樣的問題:的Rails,ActiveRecord的,許多查詢,(包括?)

Recipe Load (4.0ms) SELECT `recipes`.* FROM `recipes` WHERE (recipes.id > 394691) ORDER BY recipes.id LIMIT 500 
Ingredient Load (6.3ms) SELECT `ingredients`.* FROM `ingredients` WHERE (`ingredients`.recipe_id = 394692) 
Step Load (1.7ms) SELECT `steps`.* FROM `steps` WHERE (`steps`.recipe_id = 394692) 
Ingredient Load (0.6ms) SELECT `ingredients`.* FROM `ingredients` WHERE (`ingredients`.recipe_id = 394693) 
Step Load (0.2ms) SELECT `steps`.* FROM `steps` WHERE (`steps`.recipe_id = 394693) 
Ingredient Load (0.3ms) SELECT `ingredients`.* FROM `ingredients` WHERE (`ingredients`.recipe_id = 394694) 
Step Load (0.2ms) SELECT `steps`.* FROM `steps` WHERE (`steps`.recipe_id = 394694) 
Ingredient Load (0.4ms) SELECT `ingredients`.* FROM `ingredients` WHERE (`ingredients`.recipe_id = 394695) 
Step Load (0.2ms) SELECT `steps`.* FROM `steps` WHERE (`steps`.recipe_id = 394695) 
Ingredient Load (0.3ms) SELECT `ingredients`.* FROM `ingredients` WHERE (`ingredients`.recipe_id = 394696) 
Step Load (0.2ms) SELECT `steps`.* FROM `steps` WHERE (`steps`.recipe_id = 394696) 
Ingredient Load (0.3ms) SELECT `ingredients`.* FROM `ingredients` WHERE (`ingredients`.recipe_id = 394697) 
Step Load (0.2ms) SELECT `steps`.* FROM `steps` WHERE (`steps`.recipe_id = 394697) 
Ingredient Load (0.3ms) SELECT `ingredients`.* FROM `ingredients` WHERE (`ingredients`.recipe_id = 394698) 
Step Load (0.2ms) SELECT `steps`.* FROM `steps` WHERE (`steps`.recipe_id = 394698) 
Ingredient Load (0.3ms) SELECT `ingredients`.* FROM `ingredients` WHERE (`ingredients`.recipe_id = 394699) 
[... goes on for like 20 more rows ...] 

爲什麼會有這麼多的疑問,我需要使用:include什麼的,我只是不知道該去哪裏。

+1

你能發佈相關的源代碼和關係? – tomeduarte 2011-01-26 21:36:15

回答

2

是的。

看起來你可能想

@recipe = Recipe.find(params[:id], :include => :ingredients)) 
+0

它真的很讓人困惑,我使用太陽黑子(solr gem for rails),我覺得它與我的嵌套塊搜索有關...不知道,感謝您的幫助,迄今爲止,它幫助我到達那裏。 – 2011-01-26 21:47:45