2016-07-26 80 views
-3
class CommentsController < ApplicationController 
    def users_comments 
    posts = Post.all 
    comments = posts.map(&:comments).flatten 
    @user_comments = comments.select do |comment| 
     comment.author.username == params[:username] 
    end 
    end 
end 
+1

你會得到什麼錯誤?請詳細說明您的問題,並提供錯誤和日誌 –

+0

1.您不應該使用.all,它會調出內存中的所有記錄,這會增加響應時間 2.您應該使用預先加載。閱讀關於它[這裏](http://guides.rubyonrails.org/active_record_querying.html) –

回答

-1

這告訴ActiveRecord在所有文章的初始請求之後立即從數據庫檢索相應的評論和作者記錄,從而將數據庫請求的數量減少到只有三個。

0

它只是一個普通的普通問題,任何人都可以谷歌它,因爲它需要對現有代碼的最小的變化,並沒有任何關於Comment to post的反向關聯的假設。 閱讀關於​​的一些有趣的事實從這裏