[rails_plugin]
[rails]
[ruby]
[captcha]
[RMagick]
validates_captchaは、rails で、画像認証 captcha ができるようになるプラグインです。
RMagickに依存していています。
script/plugin install http://svn.2750flesk.com/plugins/trunk/validates_captcha
で、次に、設定ファイルと、必要ディレクトリを用意します。以下のコマンドを実行すればOK。
script/generate captcha config
script/generate captcha image_directory
script/generate captcha store_directory
config/captcha.yml で、ディレクトリは変えられますが、その場合は自分で mkdir しましょう。
viewには以下のように記述。
<% c = prepare_captcha :type => :image -%>
<%= captcha_hidden_field c, 'my_super_model' %>
<%= captcha_image_tag c %>
<%= captcha_label 'my_super_model', 'Type in the text from the image above' %>
<%= captcha_text_field 'my_super_model' %>
モデルで認証する場合は、以下のように記述。
コントローラーで認証する場合は、記述の必要なし。
class MySuperModel < ActiveRecord::Base
validates_captcha
end
コントローラーで認証する場合は、以下のように記述。
captcha_valid? メソッドを使う。
def save
supermodel = MySuperModel.find(params[:id])
supermodel.attributes = params[:my_super_model]
if captcha_valid?(params[:my_super_model][:captcha_id], params[:my_super_model][:captcha_validation])
supermodel.save
else
flash[:error] = "Are you sure you're human?"
redirect_or_something
end
end
質問で認証するなんて事もできるようなので、READMEを読んでみましょう。