验证失败:用户不能为空

时间:2015-06-21 00:49:40

标签: ruby-on-rails model devise

所有

我收到错误:验证失败:用户无法。我保存评论时收到此错误。任何人都可以指出我正确的方向吗?

评论控制器

class CommentsController < ApplicationController
def create
@topic = Topic.find(params[:topic_id])
@post = @topic.posts.find(params[:post_id])
@comment = @post.comments.new(params.require(:comment).permit(:body))

@comment.save!#save the code down in the database

redirect_to [@topic, @post]
end
end

评论模型

  class Comment < ActiveRecord::Base
  belongs_to :post
  belongs_to :user

  validates :body, length: { minimum: 5 }, presence: true
  validates :user_id, presence: true
  end

保存到数据库时页面出错 comment

1 个答案:

答案 0 :(得分:2)

您正在评论中验证用户的存在,但未将用户分配给评论。

在保存模型之前,请尝试: @comment.user = current_user