Повторяющееся сообщение об ошибке для reCaptcha в Ruby on Rails - PullRequest
0 голосов
/ 06 ноября 2019

По какой-то странной причине мои ошибки reCaptcha для неудачной проверки продолжают дублироваться, как это:

enter image description here

Вот мой код контроллера:

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%>

Любые советы о том, почему это так?

1 Ответ

1 голос
/ 06 ноября 2019

Вы вызываете метод verify_recaptcha дважды и, следовательно, эти две ошибки. Вы можете избежать вызова дважды, используя результат verify_recaptcha, сохраненный в переменной @recaptcha_succeeded.

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
...