私の Rails アプリには、Ambethia Recaptcha gem のヘルパーによって提供される Recaptcha マークアップを含む Ajax フォームがあります。
recaptcha_tags :ajax => true
送信時に、フォームは create アクションにヒットし、以下を含む create.js.erb で応答します。
$('#message-form').replaceWith("<%= escape_javascript(render('message')) %>");
「メッセージ」パーシャルには、recaptcha_tags など、最初にレンダリングされたものと同じフォーム マークアップが含まれていますが、この時点で検証にエラーがあった場合にも表示されることがあります。
Firefox では、フォームが再レンダリングされ、更新されたキャプチャが表示されます。しかし、何らかの理由で、Webkit ブラウザー (Safari および Chrome) では、Recaptcha.create(public_key, element_id) が呼び出されないかのように、'dynamic_recaptcha' Recaptcha 要素が空になります。
Safari 開発者コンソールでは、Recaptcha.create(public_key, element_id) を呼び出してキャプチャを再生成できます。
ここで何が起こっているのか誰か教えてもらえますか? ありがとう。