merb-recaptcha¶ ↑
About¶ ↑
Merb-recaptcha is plugin for Merb web-framework. It provides view and controller helpers for Recaptcha service.
Installation¶ ↑
Install gem from github.com:
gem install merb-recaptcha --source=http://gemcutter.org
Add following line in config/dependencies.rb of your web application:
dependency "merb-recaptcha", "~> 1.0.0", :require_as => "merb-recaptcha"
Sign up at Recaptcha and get public and private keys. Add keys in config/init.rb:
Merb::BootLoader.after_app_loads do Merb::Plugins.config[:merb_recaptcha][:public_key] = "... here your public key ..." Merb::Plugins.config[:merb_recaptcha][:private_key] = "... here your private key ..." end
Usage¶ ↑
Just add helper in your form:
<%= form_for @users, :action => resource(:users), :method => :post do %> ..... <%= recaptcha_tags %> <%= submit "Send" %> <% end %>
And then check captcha in controller:
class Users < Application
......
def create(user)
@user = User.new(user)
if (captcha_correct = recaptcha_valid?) && @user.save
redirect resource(@user)
else
unless captcha_correct
@user.valid?
@user.errors.add(:general, "Captcha code is incorrect")
end
end
render :new
end
......
end