rails3插件 devise 入门指南

安装

Gemfile中加入

gem 'devise'

在项目中 

bundel install

安装好devise后,运行

rails generate devise:install

运行后会出来四个提示,一步步来

  • 一:邮件中你的url要一个缺省值,如果是开发环境,请把下面这行代码粘贴在你的config/environments/development.rb中,放在mailer代码下面即可

config.action_mailer.default_url_options= { :host => 'localhost:3000' }

  • 二:保证要有一个缺省页面(肯定啊,要没有的话验证后蹦到哪里啊)

可以运行

 rails g controller today index

自己生成一个控制器,在rout.rb中敲上

 root :to => "today#index"

就往这儿蹦了!

  • 三:在app/views/layouts/application.html.erb中加点儿flash片段,人性化一些

<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>
  • 四:关于heroku的,暂时不用理它。
好了!下一步可以开始玩儿这个插件了
运行
rails generate devise User
rake db:migrate
rake routes

                    root        /                              today#index         new_user_session GET    /users/sign_in(.:format)       devise/sessions#new             user_session POST   /users/sign_in(.:format)       devise/sessions#create     destroy_user_session DELETE /users/sign_out(.:format)      devise/sessions#destroy            user_password POST   /users/password(.:format)      devise/passwords#create        new_user_password GET    /users/password/new(.:format)  devise/passwords#new       edit_user_password GET    /users/password/edit(.:format) devise/passwords#edit                          PUT    /users/password(.:format)      devise/passwords#update cancel_user_registration GET    /users/cancel(.:format)        devise/registrations#cancel        user_registration POST   /users(.:format)               devise/registrations#create    new_user_registration GET    /users/sign_up(.:format)       devise/registrations#new   edit_user_registration GET    /users/edit(.:format)          devise/registrations#edit                          PUT    /users(.:format)               devise/registrations#update                          DELETE /users(.:format)               devise/registrations#destroy

可以看到我们生成的路由了!

第一列是路由help,第二列不说了,第三列浏览器路径,第四列实际路由

可以在浏览器中输入http://0.0.0.0:3000/users/sign_up,访问devise/registrations#new

在index中编写代码如下

<h1>Today#index</h1>
<p>devise插件测试</p>
<%if user_signed_in?%>
<%= current_user.email%><br />
<%= link_to "登出", destroy_user_session_path, :method => :delete %><br />
<% else%>
<%= link_to 'sign up',new_user_registration_path %> or <%= link_to 'sign in',new_user_session_path %>
<% end %>
可以测试一下。

使用

拦截所有访问 在application_controller.rb中添加

before_filter :authenticate_user!, :except => [:show, :index]

生成所有devise的views页面

rails generate devise_views

增加一个字段

rails generate migration add_username_to_users username:string
rake db:migrate
更改devise的设置 在config/initializers/devise.rb中,如更改密码长度,验证字段等

config.authentication_keys = [ :username ]
config.password_length = 4..128
更改缺省路由

devise_for :users, :path_names => { :sign_up => "register" }
sing_up不会再用,而用register替代


更改语言设置 config/locales/devise.en.yml






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值