学习日记2.8.1

参加比赛的Login项目....整了一天把验证码功能加上了......

 

 把需要注意的事情提一下.

 

1.RMagick解压后的包里有gem文件,跟压缩包不同命,丫能不能不要那么大意,仔细找一找啊?

 

 

2.注意不要让生成图像和验证码的方法和显示验证码的方法在一起,这样导致的问题就是填写的验证码是过时的,等到用输入的验证码验证的时候,是用输入的验证码跟新生成的验证码效验。(=。。=)那就永远都不用进去了。但是这就涉及到逻辑的设计问题,最后我是新建了个logout的方法,总觉得欠妥,还是要再考虑。

 


  def index
   session[:noisy_image] = NoisyImage.new(4)
   session[:code] = session[:noisy_image].code
  end
 

 

def login
    session[:user_authority]=nil
     if request.post?
       if VerificateCodeRight?
          user=User.authenticate(params[:name],params[:password])
        if user
          session[:user_authority]=user.authority
          redirect_to(:action=>'loged')
        else
          reset_seesion
          flash.now[:notice]= "账号或者密码不存在,请重新输入"
        end
        else
          flash.now[:notice]="验证码不正确,请重新输入"
        end
      end
end

 3.要将传送图片的方法放在使用验证码的Controller下。

 

   其实可能也不一定吧,下面的src是在erb文件下code_image方法的调用,红色的地方是Controller的名字,应该是可以随时换的。因为逻辑,想过放到ApplicationController下,但是不知道路由应该怎么写了。最后还是放弃放到使用的admincontroller下.....

 

<img height='30' src='/admin/code_image'>
 

你可能感兴趣的:(Flash)