Rails Recaptcha插件总是返回false

Ben*_*man 1 ruby-on-rails recaptcha

我正在使用这里找到的rails recaptcha插件:http://github.com/ambethia/recaptcha/tree/master

我已经在recaptcha.com上注册了一个帐户,获得了一个公钥和私钥,并且该站点配置了一个全局密钥(暂时).

config/environment.rb我设置环境变量:

ENV['RECAPTCHA_PUBLIC_KEY'] = 'xxxxxxxxxxxxxxxx'
ENV['RECAPTCHA_PRIVATE_KEY'] = 'XXXXXXXXXXXXXXxx'
Run Code Online (Sandbox Code Playgroud)

在我看来,我像这样渲染验证码:

<%= recaptcha_tags %>
Run Code Online (Sandbox Code Playgroud)

在我的控制器处理这个表单我有这个:

unless verify_recaptcha #   <--  always returns false
    flash[:error] = "Your captcha entry was invalid"
    render :action=>'new'
    return
end
Run Code Online (Sandbox Code Playgroud)

我的问题是verify_recaptcha 总是返回false.

我必须遗漏一些简单的东西,但我没有看到它. 在我得到smart-alec回复之前,是的,我在填写方框中键入了正确的单词:)

Jor*_*eña 5

就像一张纸条一样,请确保您不会意外地切换公钥和私钥; 它们是不同的.

我不知道你是否已经在处理它是否正确的可能性,在这种情况下你会想要这样的东西:

if verify_recaptcha
  @thing.save!
  redirect_to success_path
else
  flash[:error] = "There was an error with the recaptcha code below. Please re-enter the code and click submit." 
  render :action => 'new'
end
Run Code Online (Sandbox Code Playgroud)

并记得使用:

<%= recaptcha_tags :ssl => true %>
Run Code Online (Sandbox Code Playgroud)

如果您使用的是SSL.