- 追加された行はこの色です。
- 削除された行はこの色です。
&tag(SimpleCaptcha);
*目次 [#b5308ffc]
#contents
*関連ページ [#o57ba447]
-[[Rails3]]
-[[Rails3/問い合わせフォーム]]
*参考情報 [#sf7a2fab]
-[[galetahub/simple-captcha · GitHub:https://github.com/galetahub/simple-captcha]]
-[[Ruby on Rails に CAPTCHA の導入|苔の生したこんな日は:http://ameblo.jp/taty-usa/entry-11474036774.html]]
-[[空飛ぶエリマキトカゲの観察日記: Rails3系でコメントスパム対策、難解(難読?)画像認証をする(CAPTCHAってやつ):http://fujioka0729.blogspot.jp/2013/08/rails3captcha.html]]
*インストール [#s36e5ae8]
*概要 [#o85560cf]
-お問い合わせフォームなんかのスパム対策に画像認識を行うライブラリ。
*基本 [#s36e5ae8]
**ImageMgickのインストール [#ob322873]
-
-MacPortsの場合
sudo port install ImageMagick
-CentOSの場合
sudo yum install ImageMagick-devel
**SimpleCaptchaのインストール [#ta377c84]
-Gemfileを編集
gem "galetahub-simple_captcha", :require => "simple_captcha"
-インストール
bundle install --path vendor/bundle
-セットアップ。必要なスクリプトとテーブル(simple_captcha_data)を生成する。
bundle exec rails generate simple_captcha
bundle exec rake db:migrate
bundle exec rake db:migrate RAILS_ENV=production # 必要な場合
**SimpleCaptchaを使用する [#b11c4e14]
-使用するControllerでincludeする。別にApplicationControllerじゃなくてもよい。
#pre{{
ApplicationController < ActionController::Base
include SimpleCaptcha::ControllerHelpers
end
}}
-ビューを編集
<%= show_simple_captcha %>
-コントローラーのactionで検証する
#pre{{
if simple_captcha_valid?
do this
else
do that
end
}}
*トラブルシューティング [#z78a0678]
**「sh: convert: command not found」とログに表示され画像が表示されない。 [#we13546c]
-ImageMagickのconvertコマンドが見つからないことが原因。
-README.rdocを読むと解決方法がある。development.rbなどで以下のように指定すればよい(MacPortsの場合)。
#pre{{
SimpleCaptcha.setup do |sc|
sc.image_magick_path = '/opt/local/bin' # you can check this from console by running: which convert
end
}}
**ラベルやプレースホルダに文字が表示されない [#d81a986d]
-ja.ymlを使っている場合、次のように設定。
#pre{{
ja:
simple_captcha:
placeholder: "Enter the word"
label: "画像の文字を入力してください"
}}