1
我是新來的Ruby on Rails和我有兩個表項目和任務時減少SQL查詢的數量在Ruby on Rails的3。如何獲取相關記錄
在我的任務索引視圖中,我有一個長的HTML表,其中一列屬於項目。
現在我注意到Rails使用單獨的SQL查詢來獲取每個項目的名稱。
有什麼辦法可以簡化它嗎?我想我以前聽說過一些技術,但不太清楚它是什麼。
感謝您的幫助!
我是新來的Ruby on Rails和我有兩個表項目和任務時減少SQL查詢的數量在Ruby on Rails的3。如何獲取相關記錄
在我的任務索引視圖中,我有一個長的HTML表,其中一列屬於項目。
現在我注意到Rails使用單獨的SQL查詢來獲取每個項目的名稱。
有什麼辦法可以簡化它嗎?我想我以前聽說過一些技術,但不太清楚它是什麼。
感謝您的幫助!
在您的初始任務查詢中使用includes
方法。
例子:
def index
@tasks = Task.includes(:project).all
...
end
這正是* *什麼,我一直在尋找。像一個魅力工程,感謝一堆! – Tintin81 2012-02-24 16:40:34
我覺得我應該提一下,在include()的返回時調用.all並不是必需的,實際上可以被認爲是反模式,因爲它會在數據迭代時急切加載數據而不是延遲加載。 – fullsailor 2013-02-13 18:56:09