Плагин рекапчи для рельсов - PullRequest
4 голосов
/ 24 августа 2010

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

"invalid-captcha-sol"

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

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

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

Ответы [ 4 ]

11 голосов
/ 16 апреля 2011

Поскольку 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

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

3 голосов
/ 24 августа 2010

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

0 голосов
/ 18 августа 2014

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

Пример:

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

См. https://github.com/ambethia/recaptcha#i18n-support

0 голосов
/ 29 декабря 2010

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

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

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

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

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

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

...