рекапча в рельсах - PullRequest
       3

рекапча в рельсах

0 голосов
/ 26 декабря 2011

Я установил гем recaptcha из https://github.com/ambethia/recaptcha и добавил

<%= recaptcha_tags >

в моей форме перед отправкой я также размещаю открытый и закрытый ключи в environment.rb

ENV['RECAPTCHA_PUBLIC_KEY'] = 'xxxxxxxxxxxxxxxx'
ENV['RECAPTCHA_PRIVATE_KEY'] = 'XXXXXXXXXXXXXXxx'   

А мой контроллер такой

def create
  if verify_recaptcha
    super
  else
    build_resource
    clean_up_passwords(resource)
    flash.now[:alert] = "There was an error with the recaptcha code below. Please re-enter the code."
    render_with_scope :new
  end
end

Я также перешел по ссылке ниже https://github.com/plataformatec/devise/wiki/How-To:-Use-Recaptcha-with-Devise, поскольку я также использую ее в своем контроллере регистрации, но каждый раз, когда verify_recaptcha возвращает false, может кто-нибудь PLZ сказать мне, что мне не хватает

Ответы [ 2 ]

0 голосов
/ 04 апреля 2013

Я успешно использовал ваш код в качестве отправной точки со следующими изменениями:

<%= recaptcha_tags >

должно быть:

<%= recaptcha_tags %>

, которое добавляется в вашу форму перед отправкой.

Я установил свои локальные переменные среды, используя следующую опцию # 3: http://railsapps.github.com/rails-environment-variables.html и установил их в Heroku следующим образом: https://devcenter.heroku.com/articles/config-vars

Наконец, в моем контроллере:

def create
    if verify_recaptcha
       super
    else
       flash.delete(:recaptcha_error)
       flash.now[:alert] = "There was an error with the recaptcha code below. Please re-enter the code."
       render :new
    end
end
0 голосов
/ 26 декабря 2011

Судя по коду, если вы хотите использовать переменную среды для настройки recaptcha, эти переменные среды должны быть установлены до загрузки recaptcha.

Поскольку сборщик запрашивает гем перед запуском инициализаторов, слишком поздно установить эти переменные среды в инициализаторе.

Почему бы не использовать

Recaptcha.configure do |config|
  config.public_key  = ...
  ...
end

подход?

...