コメント機能実装(表示だけ)


アウトプット用です。
投稿に対するコメント機能の実装をしており、なかなかにてこずりました。
下記エラー

commentsには何も入ってないとのことなのですが、直接カラムを指定していることが原因かと思われます。

top_page_controller.rb
class TopPageController < ApplicationController
  def index
    @toppages = TopPage.all
  end

  def new
    @toppage = TopPage.new
  end

  def create
    TopPage.create(top_page_params)
    redirect_to top_page_index_path
  end

  def show
    @toppage = TopPage.find(params[:id])
    @comment = Response.new
    @comments = @toppage.comments.includes(:user)
  end

  private
  def top_page_params
    params.require(:top_page).permit(:contents,:name).merge(user_id: current_user.id)
  end
end

ということでshowの部分を下記に修正

top_page_controller.rb
  def show
    @toppage = TopPage.find(params[:id])
    @comment = Response.new
    @comments = @toppage.responses.includes(:user)
  end

表示されました。

んー。。。感覚的になぜかはわかるのですが言語化ができない。。。。。

コントローラーで使用するデータベースをインスタンス変数(@comments)に格納して
ビューでカラムを指定して表示。の流れでうまくいったのでそれでよかったのか?

もっとエラー重ねて理解深めようと思います。