0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

コメント機能の実装で No mthod error が出たことについて

Posted at

投稿された記事にコメントで機能の実装でno method errorが出力され、単純なミスでのエラーでしたので解決方法を記載

class ContentsController<ApplicationController
   省略
 def show
  @comment = Comment.new
  @comments = @content.comments.includes(:user)
 end

contentsコントローラーのshowアクションで投稿された記事の詳細画面に遷移されそこで記事に対してコメントをする機能とコメント一覧を表示する機能を実施しようとしたところ, undefined method comments for nill: nillclassと出力された。
モデル同士のアソシエーションやタイプミスを考え見直したがどこも間違っておらず他の原因を考えた。
結果としてshowアクションの始めにどの記事かを取得していないことによるエラーであることがわかった。

class ContentsController<ApplicationController
   省略
 def show
  @content = Content.find(params[:id])
  @comment = Comment.new
  @comments = @content.comments.includes(:user)
 end

@contentでどの記事かを指定、取得しなければ@commentsを定義したとしてもそもそも@contentが無いからnilになってしまいエラーが出力されてしまったという内容でした。

かなり単純なミスでしたので自分の勉強不足が露骨に出てしまいました。
自分では理解したつもりでももう一度各コードの意味とどのように動いているかをアウトプットできるよう頑張ります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?