假設我有一個帖子和類別模型,每個帖子屬於一個類別。在幾乎每一頁上,我都得到類別列表:Rails:刪除不必要的數據庫查詢
@categories = Category.all
這產生一個Category對象的數組。現在,假設每個類別都有id和name屬性。查看帖子時,我想顯示類別名稱。
我最初是做這樣的事情越來越類別名稱:
@post = Post.find(params[:id], :include => :category)
但是,我意識到,我已經有@categories陣列。似乎沒有必要:包括當我已經有一個類別列表。因此,我現在在陣列上執行查找:
category = @categories.find { |category| @post.category_id == category.id }.name
這可以工作並減少查詢次數。我的問題是,如果這是解決減少查詢數量(無緩存)的最佳方法?
好點。 UNF。沒有投票剩餘:) – 2009-08-25 23:59:34