For some odd reason, my reCaptcha errors for failed verification keeps duplicating, like this:
Here's my controller code:
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
Here's the view html code:
<%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%>
Any tips on why it is so?
You are calling verify_recaptcha method twice and hence those two errors.You can avoid calling twice by using the result of verify_recaptcha
stored in @recaptcha_succeeded
variable.
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