お世話になっています。
Railsでコメントを表示させる時に、コメントをしたユーザーのアドレスも表示させたいのですが、上手くいきません。
undefined method 'email' for nil NilClass
というエラーが出てきてしまいます。
gemはDeviseを使っており、モデルの関連付け、has_many等の記述もしています。
コメントを表示するarticle/showには
<h3>コメント追加:</h3> <%= form_for ([@article, @article.comments.build]) do |f| %> <p>comment:</p><p><%= f.text_area :body %></p> <%= f.submit 'コメントを投稿する' %> <% end %> <h3>コメント</h3> <% @article.comments.each do |comment| %> <p><%= comment.user.email %></p> <pre><%= comment.body %></pre> <% end %>
と記述しており、コメントコントローラーは
def create @article = Article.find(params[:article_id]) @comment = @article.comments.create(params_comment) @comment.user_id = current_user.id redirect_to @article end private def params_comment params.require(:comment).permit(:body) end
と書いていますが、何が間違っているのでしょうか?
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/13 10:53
退会済みユーザー
2017/12/13 12:28
退会済みユーザー
2017/12/13 13:14