2

私はjsで連絡フォームとsendcontactアクションレスポンを持っています.gemを使用する前にreCaptcha、連絡先を送信することはうまくいきます。

  • gem 'recaptcha', :require => 'recaptcha/rails'
  • 公開鍵と秘密鍵
  • recaptcha.rb
Recaptcha.configure do |config|
  config.public_key  = '6LcPi-zzzzzzzzz'
  config.private_key = '6LcPi-xxxxxxxxx'
  config.proxy = 'http://localhost:3000/'
end

ここにフォームとコントローラーがあります

  # contact form

  <%= form_for Contact.new, :url => { :action => "sendcontact" }, :remote => true  do |f| %> 
 <div class="field">
  <%= f.label :name %><br />
  <%= f.text_field :name %>
 </div>
 <div class="field">
   <%= f.label :email %><br />
   <%= f.text_field :email %>
 </div>
 <div class="field">
   <%= f.label :message %><br />
   <%= f.text_area :message, :style => 'height:200px;width:300px;resize:vertical;' %>
 </div>
 <div class="field">
    <%= recaptcha_tags %>
 </div>
 <div class="actions">
    <%= f.submit "Send", :class => 'btn btn-success btn-large' %>
 </div>
 <% end %>

 #controller

 def sendcontact
    @contact = Contact.new(params[:contact])
    if verify_recaptcha
       @contact.save!
       respond_to do |format|
         flash.now[:notice] = 'Thank you for contacting me'
         format.js
       end
    else
       respond_to do |format|
         format.js
       end
    end
  end

フォーム送信時、常に通知を表示Recaptcha unreachable

4

1 に答える 1

3

解決済み

取り除くだけconfig.proxy = 'http://localhost:3000/'

私はプロキシを使用しておらず、プロキシでhttp://localhost:3000/はないため、キャプチャがサーバーのGoogleに送信されないことを確認し、「recaptcha unreachable」というアラートを表示します

タイムアウトになると「recaptcha Unreachable」と表示されます。

これがレスキュータイムアウト::エラーです https://github.com/ambethia/recaptcha/blob/master/lib/recaptcha/verify.rb#L53

于 2013-06-30T13:16:06.587 に答える