Проверка рекапчи Ambethia

#ruby-on-rails-3

#ruby-on-rails-3

Вопрос:

В моем контроллере есть следующий код:

 @video=Video.find(params[:id])
        @video.increment!(:votes)
        respond_to do|format|
        format.js  
  

Это работает нормально.Я хочу добавить к ней проверку рекапчи.Я использую рекапчу Ambethia.

Ответ №1:

  • Добавьте gem ‘recaptcha’, :require => ‘recaptcha/rails’ в свой Gemfile, запустите bundle
  • Создайте свои ключи рекапчи: https://www.google.com/recaptcha/admin/create
  • Добавьте открытый и закрытый ключи в свой проект и перезапустите сервер:

конфигурация/инициализаторы/recaptcha.rb

 Recaptcha.configure do |config|
  config.public_key  = 'xxx'
  config.private_key = 'yyy'
end
  

на ваш взгляд:

 <%= recaptcha_tags %>
  

в вашем контроллере:

  def create
   if verify_recaptcha

   else

   end
 end
  

Комментарии:

1. У меня установлен драгоценный камень. Я хочу знать, как проверить это в контроллере 🙂

2. Не удалось скопировать / вставить 😉 Теперь она завершена.

3. Не работает. У меня в контроллере есть следующее def vote if verify_recaptcha @video=Video.find(params[:id]) @video.increment!(:votes) respond_to do|format| format.js end else @video=Video.find(params[:id]) respond_to do|format| format.js (render 'failure.js.erb') end end end при нажатии кнопки голосования ничего не происходит. Значение голоса не увеличивается. Она отлично работает, если рекапча удалена.

4. Я использую Ajax Api.it отображает капчу. $('#cap_<%=@video.id%>').each(function () { Recaptcha.create('6LcUkcISAAAAAHkKSVVg3BAYbwGNUukOmUZp8I9j', this); }); , но значение vote не увеличивается.

5. ах, забыл перезапустить сервер