&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]]

*概要 [#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: "画像の文字を入力してください"
}}

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS