Rails 4:如何从控制器内部检查验证错误

eme*_*his 2 ruby validation ruby-on-rails ruby-on-rails-4

我有一些基本的模型验证,当表单由AJAX提交时触发.如果验证失败,我想将验证错误传递回视图,以便我可以告诉用户.

  def save
    logger.debug( params )
    @video = Video.new( video_params )
    if @video.save
        render json: @video
    else
        render json: errors.messages
    end
  end
Run Code Online (Sandbox Code Playgroud)

这会引发错误,因为errors未定义.我究竟做错了什么?我阅读了关于此的文档,它只显示errors.messages在视图中使用.

fot*_*nus 9

errors是一个实例方法ActiveRecord.在您的情况下使用的正确方法是这样的:

@video.errors.messages
Run Code Online (Sandbox Code Playgroud)