Rails 登录&注册插件 Devise

Rails 登录&注册插件 Devise

 

Devise 是一个Rails上基于Warden,灵活的认证方案,用于实现系统-注册登录功能

是一个完整的MVC模式的解决方案,可以满足不同角色同时登录系统,而且是基于模块化设计的,你只需要使用你真正想要的东西。

 

系统环境:

ruby version 1.9.3

rails version  3.2.6

 

有一定rails基础的人,学习devise的最好方法是有一个example,先把框架搭建起来,再去探究一些细节

devise还有一种模板式的使用方法(还没有研究),今天只把这个example运行起来,了解一下大概的结构

 

首先创建工程,其实是从github上copy下来的

 

git clone git://github.com/RailsApps/rails3-devise-rspec-cucumber.git

 

下载必要的gem包,执行命令:

 

bundle install

 

整个工程就建好了,注册登录功能是对用户的管理,必然要对用户进行操作,这个工程中已经把用户管理的M-V-C 搭建好了,还有一个问题就是我们的数据库还没有,运行程序的时候找不到users表,在migration中已经为我们提供了任务迁移

只需要执行:

 

rake db:migrate

 

 如果人品好的话,程序就可以正常执行了

 

在视图中加入了一张图片,结果就是显示不出来,异常信息

ActionController::RoutingError(No route matches [GET] "/assets/rails.png")

 

在config/environments/production.rb文件中,加入或修改

 

config.serve_static_assets = false

重新启动webrick服务器,就没有问题了,至少我这里是没有问题了,当我去掉这句,再重新启动的时候,图片又能正常显示了,不知道是不是因为之前没有重启的原因,记录一下,如果再有类似的问题,不妨试一下

 

另外:执行注销用户功能时,系统报错:

no route matches "/users/sin_out" devise rails 3.2.6

以下文章中有很多解决办法,但是查看devise源码时发现很多解决方法,在devise中已经修改了,可能是devise版本的问题,具体问题具体分析吧

 

http://stackoverflow.com/questions/6557311/no-route-matches-users-sign-out-devise-rails-3

 

Devise详细参见:

https://github.com/railsapps/rails3-devise-rspec-cucumber#about-required-gems

 

 

 

你可能感兴趣的:(login,devise,sign in)