2016-07-26 78 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的反向关联的假设。 阅读关于​​的一些有趣的事实从这里