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

时间:2013-09-03 18:01:27

标签: ruby-on-rails ruby validation 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

这会引发错误,因为errors未定义。我究竟做错了什么?我看过the docs on this,但它只显示了视图中使用的errors.messages

2 个答案:

答案 0 :(得分:9)

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

@video.errors.messages

答案 1 :(得分:2)

而不是 消息 使用 full_messages ,如下所示

@video.errors.full_messages