@user.name
适用于我的帖子,用户个人资料以及我网站上的其他任何位置。但是当我将它添加到用户注释中时,我得到了未定义的方法?
<p class="comment_body">
<h2><%= @user.name %></h2>
<%= comment.body %>
</p>
我尝试<%= user.name %>
但仍然是错误。
我尝试了<%= current_user.name %>
并且有效。但是,我不想显示当前用户的名字,我想查看谁发布评论的用户名。
编辑:
我忘了将用户与评论联系起来,但我不确定如何。
评论控制器
class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(params[:comment].permit(:body))
redirect_to post_path(@post)
end
end
我进入了我的comments.rb并写了belongs_to :user
并在我的user.rb中添加了has_many :comments
。
答案 0 :(得分:0)
那么,如果你设置用户并保存评论,不应该吗?尝试像
这样的东西def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(params[:comment].permit(:body))
@comment.user = current_user
if @comment.save
redirect_to post_path(@post)
else
# something else
end
end