Recaptcha gem 需要在 Rails7 上提交失败

Recaptcha gem needs a failed subimission on Rails7

带有 recaptcha 的工作表单从 rails6 移动到 rails7 总是在第一次提交时出现 recaptcha 验证错误。在第二次提交时有效。

  = form_with url: mail_submit_path do |form|
    = render partial: "err_details", locals: {field: :email}
    .field
      %label.label email
      .control.has-icons-left
        = form.text_field :email, value: @email, required: true, class: "input"
        %span.icon.is-left
          %i.fas.fa-envelope{:'aria-hidden' => "true"}
    = render partial: "err_details", locals: {field: :captcha}
    .field
      .recaptcha
        = recaptcha_tags
    .field
      .control
        = form.submit "Submit", class: "button is-link"

第一次提交时缺少一些数据:来自 rails 日志:

I, [2022-01-18T18:42:23.795409 #1451245]  INFO -- : [3c877c6c-5a2a-46e5-8ff6-5338c36d1078]   Parameters: {"authenticity_token"=>"[FILTERED]", "email"=>"someone@gmail.com", "g-recaptcha-response"=>"                ", "commit"=>"Submit"}

我认为这是一个涡轮问题,但不确定。

我在 Rails 6.1.4 中遇到了同样的问题。出于某种原因,更改

<%= recaptcha_tags %>

<%= recaptcha_tags(noscript: false) %>

对我有用。

我还想补充一点,我在为使用 recpatcha 标签的表单禁用 Turbo 方面取得了更多成功。

<%= form_with(model: @resource, local: true, data: { turbo: "false"}) do |f| %>