有人在 Rails 应用程序中有 Google 的新 recaptcha 的工作示例吗?我尝试遵循的每一个指南要么不清楚要么不完整,而且似乎使用了不同的方法。
手写代码会更可取。
进行中的工作:
配置/环境/production.rb:
#...
recaptcha_public_key= "[PUBLIC KEY]"
recaptcha_private_key= "[PRIVATE KEY]"
end
配置/环境/开发.rb:
#...
recaptcha_public_key= "[PUBLIC KEY]"
recaptcha_private_key= "[PRIVATE KEY]"
end
配置/初始化/recaptcha.rb
Recaptcha.configure do |config|
config.public_key = Rails.application.secrets.recaptcha_public_key
config.private_key = Rails.application.secrets.recaptcha_secret_key
config.api_version = 'v2'
end
最佳答案
使用 recaptcha gem ,我创建了一个使用复选框方法的示例。
此处提供代码: https://github.com/sunnyrjuneja/recaptcha_example
提交应该很容易理解。如果您还有其他问题,请告诉我。
此处的示例应用程序: https://recaptcha-checkbox.herokuapp.com/
更新:
这里有一个不用 secrets.yml 的方法。
将您的初始化程序更改为如下所示:
Recaptcha.configure do |config|
config.public_key = ENV['RECAPTCHA_PUBLIC_KEY']
config.private_key = ENV['RECAPTCHA_PRIVATE_KEY']
end
在您的开发或生产环境中,将其添加到您的 .bashrc 或 .zshrc。
export RECAPTCHA_PUBLIC_KEY="YOURPUBLICKEY"
export RECAPTCHA_PRIVATE_KEY="YOURPRIVATEKEY"
如果您使用 Heroku 进行部署,请在命令行上执行此操作:
heroku config:set RECAPTCHA_PUBLIC_KEY="YOURPUBLICKEY"
heroku config:set RECAPTCHA_PRIVATE_KEY="YOURPRIVATEKEY"
更新 2:
recaptcha gem 现在使用不同的方法名称来设置 key 。
Recaptcha.configure 执行 |config|
config.site_key = 'YOUR_SITE_KEY_HERE'
config.secret_key = 'YOUR_SECRET_KEY_HERE'
# 如果您使用代理服务器,请取消注释以下行:
# config.proxy = 'http://myproxy.com.au:8080'
结尾
关于ruby-on-rails - 使用 Rails 的新 recaptcha 的工作示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28184319/