验证码插件



首先: RMagick应安装在你的机器上

1:SimpleCaptcha
ruby script/plugin install svn://rubyforge.org/var/svn/expressica/plugins/simple_captcha

2:
按照下列步骤来安装插件
 
rails 版本在2.0以上

运行
rake simple_captcha:setup

rails 版本在2.0以下

运行
rake simple_captcha:setup_old



3:运行迁移任务
rake db:migrate

4:添加路由

     ActionController::Routing::Routes.draw do |map|    
        map.simple_captcha '/simple_captcha/:action', :controller => 'simple_captcha'    
     end    

5:插入下面一行到
app/controllers/application.rb
 ApplicationController < ActionController::Base    
     include SimpleCaptcha::ControllerHelpers    
 end

注意:如果您的控制器没有继承 ApplicationController ,必须添加 include SimpleCaptcha::ControllerHelpers 

用法

基于控制器

1:在视图文件中添加
<%= show_simple_captcha %>    

2:在控制器添加action作为验证
     def my_action    
       if simple_captcha_valid?    
             do_this    
       else    
             do_that    
        end    
     end    

基于模型

1:在视图文件中添加
<%= show_simple_captcha(:object=>"user") %>

2:在模型类中添加
   class User < ActiveRecord::Basse    
          apply_simple_captcha    
   end    

3: Validating with captcha
@user.valid_with_captcha?

   Saving with captcha
@user.save_with_captcha

注意: @ user.valid ?  @ user.save 仍然会工作它不会 验证 Captcha代码

查看选项

:label :标签
提供了自定义下面的样式

: image_style
有8个不同的风格可作为图版样式 ...
  • simply_blue
  • simply_red
  • simply_green
  • embosed_silver
  • all_black
  • distorted_black
  • charcoal_grey
  • almost_invisible
:distortion
  
处理复杂的图像, 可以设定为'low', 'medium', 'high' 三个选项,默认是 'low'

:code_type
  
处理的案文的Captcha图片, 可用的选项是'数字'或'字母' , 默认是'字母'

:object
 
名称的对象模型类,以执行基于模型的captcha

如何更改的CSS的SimpleCaptcha的DOM元素?


rails 版本在2.0以上

改为
/app/views/simple_captcha/_simple_captcha.erb

rails 版本在2.0以下

改为
/app/views/simple_captcha/_simple_captcha.rhtml

View’s Examples

基于控制器的例子

<%= show_simple_captcha(:label => "(human authentication)") %>

<%= show_simple_captcha(:image_style => 'embosed_silver', :distortion => 'medium') %>   

  <%= show_simple_captcha(:image_style => 'random', :label => "(are you human ?)") %>    

基于模型的例子

   <%= show_simple_captcha(:object => 'user', :image_style => 'simply_red', :distortion => 'medium') %>    

模型选项


:message

提供了自定义消息失败的captcha验证默认值是“与图片不相同的文字”

:add_to_base

如果设置为true时,增加了错误信息

模型的范例

     class User < ActiveRecord::Base    
        apply_simple_captcha    
     end    

class User < ActiveRecord::Base    
    apply_simple_captcha :message => " image and text were different", :add_to_base => true    
end   


参考
[url]http://expressica.com/simple_captcha/[/url]







你可能感兴趣的:(职场,插件,验证码,RMagick,休闲)