Rails Ruby 中 reCaptcha 的重复错误消息

Duplicate error message for reCaptcha in Ruby on Rails

出于某种奇怪的原因,我的验证失败的 reCaptcha 错误不断重复,如下所示:

这是我的控制器代码:

def create
        #render plain: params[:student].inspect
        @student = Student.new(student_params)
        @recaptcha_succeeded = verify_recaptcha(model: @student)
        if verify_recaptcha(model: @student) && @student.save
            redirect_to @student
        else
            render 'new'
        end

这是视图 html 代码:

<%if @recaptcha_succeeded==false%>
                  <div class="col-md-12">
                    <h5><%=@student.errors.size%> error prohibited this student from being saved:</h5>
                    <%@student.errors.full_messages.each do |message|%>
                      <li><%=message%></li>
                    <%end%>
                  </div>
              <%end%>

有什么提示可以解释为什么会这样吗?

您正在调用 verify_recaptcha 方法两次,因此这两个 errors.You 可以通过使用存储在 @recaptcha_succeeded 变量中的 verify_recaptcha 的结果来避免调用两次。

def create
        #render plain: params[:student].inspect
        @student = Student.new(student_params)
        @recaptcha_succeeded = verify_recaptcha(model: @student)
        if @recaptch_succeeded && @student.save
            redirect_to @student
        else
            render 'new'
        end
end