新手问题 devise+simple_captcha 遇到的问题

匿名 · 2013年08月08日 · 最后由 jun1st 回复于 2013年10月28日 · 3731 次阅读

第一次用 simple_captcha 做验证码,表示很多不会。我的表述能力不算好,直接贴代码吧 这是用到的 gem

gem "galetahub-simple_captcha", :require => "simple_captcha"
gem 'devise'
gem "mini_magick"

routes.rb

devise_for :users,
    :controllers => { :sessions => "devise_hack/sessions",:registrations => "devise_hack/registrations" },
    :path_names  => { :sign_in  => 'login', :sign_out => 'logout', :sign_up => 'sign_up'}

在 controller/devise_hack/registrations_controller 中的代码

# -*- encoding : utf-8 -*-
class DeviseHack::RegistrationsController < Devise::RegistrationsController
    include SimpleCaptcha::ControllerHelpers

    def create
    if simple_captcha_valid?
      super
    else
      build_resource
      #clean_up_passwords(resource)
      params[:user][:password] = nil
      flash.now[:alert] = "验证码错误!"
      respond_with_navigational(resource) { render :new }
    end
  end
end

在 views/devise_hack/registrations/new.html.erb 中添加了 <%= show_simple_captcha( :label => "请输入验证码")%>这么一行代码 但是并没有出现图片,显示图片的 url 没有这场获取到 这是图片的地址:http://localhost:3000/simple_captcha?code=d898b68ae4afc961defd36a90ee985b62ad19c53&time=1375957067 缺了什么配置么 我想知道这原理是什么,求赐教

你安装 imagemagick 和 ghostscript 了没有?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号