Плагин рекапчи для рельсов
В настоящее время я использую плагин 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'