2011-01-26 1 views
0

내가 내 레일 내 쿼리가 너무 커서 앱 관련 이유에 대해 명확하지 않다 : 왜레일, 액티브, 많은 쿼리 (포함?) 나는이 같은 문제가 예를 들어

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

답변

2

예.

그것은 당신이 아마

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

정말 혼란스럽고, 나는 Sunspot (레일 용 solr gem)을 사용하고 있습니다. 검색을 위해 내 중첩 블록과 관련이있는 것 같습니다. 확실하지 않습니다. 지금까지 도움을 주셔서 감사합니다. . –