N+1問題の解決
N+1問題とは
N+1問題は解決すれば、1回のアクセスで取ってこられるデータを何度もアクセスして取ってくる、非効率的な状態。
今回の課題では、1人のuserに対し、複数の投稿(今回はboard)があるため、1人のuserの投稿を一気に複数取ってくることで、データベースへのアクセス回数を減らすことができる。
その対策が以下↓
app/controllers/boards_controller.rb
データを取得するコードに、includes(:user)を追記して、
def index
@boards = Board.all.includes(:user)
end
とする。