私は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