Плагин рекапчи для рельсов

В настоящее время я использую плагин ambetia recaptcha для рельсов. Я хочу отключить сообщение

"Некорректный-каптч золь"

всякий раз, когда пользователь неправильно вводит неправильную речтчу. Как мне это сделать?

В исходном файле я получаю следующие теги, окружающие сообщение об ошибке

<p class="recaptcha_error">incorrect-captcha-sol</p>

4 ответа

Решение

Плагин устанавливает вспышку (точнее flash[:recaptcha_error]), т.е. он не будет отображать сообщение автоматически. Скорее всего, у вас есть кусок кода, который отображает все флэш-сообщения. Попробуйте удалить его и / или исключить отображение flash [: recaptcha_error].

Поскольку flash[] - это массив, вы можете удалить элемент внутри него. Когда мы используем recaptcha gem, флэш-массив содержит элемент recaptcha_error, поэтому вы просто удаляете этот элемент только с:flash.delete (: recaptcha_error) внутри вашего контроллера.

Например:

if  verify_recaptcha(:model=>@object,:message=>"Verification code is wrong", :attribute=>"verification code") && @object.save
  #your code if succes
else
  flash.delete(:recaptcha_error)
  #your code if its fail
end

Может быть, это может помочь вам. Спасибо

Я решил это, это большинство необычных вещей, с которыми я сталкивался, мой синтаксис был ранее:

<table>
<form>
<tr><td></td></tr>
</form>
</table>

Я изменил это на это:

<form>
<table>
<tr><td></td></tr>
</table>
</form>

Из-за этого переключения неожиданно recaptcha_response_field и recaptcha_challenge_field отправляют значения обратно в форму.

Я не могу думать, почему это так, потому что все переменные моей формы были отправлены обратно до переключения.

Вы можете получить это, потому что вы не поместили файл перевода. Я думаю, что правильный способ не удалить флэш-сообщение, а положить файл i18n

Пример:

en:
  recaptcha:
    errors:
      incorrect-captcha-sol: 'Fail'

Смотрите https://github.com/ambethia/recaptcha

Другие вопросы по тегам