rails recaptcha error: We detected that your site is not verifying reCAPTCHA solutions. it return false all the time

rails recaptcha error: We detected that your site is not verifying reCAPTCHA solutions. it return false all the time

我有这个 recaptcha 错误我们检测到您的网站没有验证 reCAPTCHA 解决方案。这是在您的网站上正确使用 reCAPTCHA 所必需的。请查看我们的开发者网站了解更多信息。

我做的一切都完全正确,但它仍然存在 recaptcha 复选框 return 即使在我检查了按钮之后也是错误的

这是我的代码:

在 gemfile 中

gem "recaptcha", require: "recaptcha/rails"

在 recaptcha.rb

的初始值设定项中的配置中
Recaptcha.configure do |config|
  config.site_key   = 'my site key'
  config.secret_key = 'my secret key' 
end

在视图中:

<%= recaptcha_tags %>

在控制器中:

def create
  @contact = Contact.new(contact_attributes)
  if verify_recaptcha(model: @contact) && @contact.save
    ContactMailer.message_send(@contact).deliver
    redirect_to contacts_path, notice: "Thank you... Your Message was sent successfully."
  else
    flash.now[:error] = "Please correct the form"
    render :index
  end
end

我什至在 recaptcha.rb

中尝试过这个
Recaptcha.configure do |config|
  config.public_key = ENV["RECAPTCHA_PUBLIC_KEY"]
  config.private_key = ENV["RECAPTCHA_PRIVATE_KEY"]
end

但我遇到了这个错误

undefined method `public_key=' for #<Recaptcha::Configuration:0x00007fc132b363e8> (NoMethodError)
Did you mean?  public_send

在这个linkhttps://www.google.com/recaptcha/api/siteverify 我有 { "success":错误, "error-codes":[ "missing-input-response", "missing-input-secret" ] }

不知道该怎么做,请帮助我并提前致谢

你把<%= recaptcha_tags %>放在哪里了?

根据:https://github.com/ambethia/recaptcha/blob/master/lib/recaptcha/configuration.rb

您可以:

Recaptcha.configure do |config|
  config.site_key   = 'my site key'
  config.secret_key = 'my secret key' 
end

否则 gem 会自动从 ENV['RECAPTCHA_SECRET_KEY']ENV['RECAPTCHA_SITE_KEY'] 中选择它。

这行不通:

Recaptcha.configure do |config|
  config.public_key = ENV["RECAPTCHA_PUBLIC_KEY"]
  config.private_key = ENV["RECAPTCHA_PRIVATE_KEY"]
end

我现在怀疑你把 recaptcha_tags 放在了错误的地方(可能不合时宜)。它不会发送到 controller/backend.