devise安装使用指南
来源:互联网 发布:java调用dll JNI 编辑:程序博客网 时间:2024/06/15 21:15
1.安装Devise
首先在gemfile中加上
gem 'devise'
在命令行中运行
bundle install
在项目中添加devise
rails generate devise:install
如果在用户验证功能里需要用到邮件验证,则需要把下面的代码加到config/environments/development.rb 和 production.rb中
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
另外在app/views/layouts/application.html.erb里可以加上下面的代码,用于显示登录过程中的各种警告信息
<p class="notice"><%= notice %></p><p class="alert"><%= alert %></p>
最后,还需要在路由文件添加root action并且添加view,这个root action就是登录成功后跳转的页面,比如可以这样添加
root 'welcome#index'
2.添加modle和view
devise作为权限管理包,用于权限管理,那么首先需要有一个用户模型来存储用户
rails g devise user //生成devise的user模型rake db:migrate //数据迁移
添加权限管理相关的登录注册等页面
rails generate devise:views
通过在页面中添加这些代码可以添加登陆注册的入口
<h1>Log In</h1><% if user_signed_in? %> hello, <%= current_user.username %>! You are <%= current_user.role %> <%= link_to('登出', destroy_user_session_path, :method => :delete) %><% else %> <%= link_to('注册', new_registration_path(:user)) %> <%= link_to('登录', new_session_path(:user)) %><% end %>
点击连接会进入对应的页面中
devise会默认创建一个帮助方法:
before_action :authenticate_user!user_signed_in? //判断用户是否登录current_user //获取当前登录用户user_session //可以访问对应的session
在controller中添加before_action :authenticate_user!会让相应的页面进行权限控制未登录的状态下会自动进入登录页面,登陆后默认跳转回root页面
其他配置
为了让用户在登录后跳转回刚才打开的页面,需要覆盖after_sign_in_path_for和after_sign_out_path_for来自定义跳转回调
修改错误提示:Devise处理错误信息的方式是把所有需要的信息都用i18n的方式保存在config/local目录下的/config/locales/devise.en.yml 文件中,直接修改成中文就行
- 在页面模板(layout)中显示当前用户的名称: 在application中添加before_action :set_user,在private方法下定义set_user
privatedef set_spuser if current_spuser @spuser = Spuser.find(current_spuser) endend
1 0
- devise安装使用指南
- Devise Session
- devise rails
- devise使用
- devise 笔记
- MYSQL完全安装使用指南
- MYSQL完全安装使用指南
- vs2005安装使用指南
- Subversion(SVN)安装使用指南
- Webalizer 安装使用指南
- Subversion(SVN)安装使用指南
- Subversion(SVN)安装使用指南
- ODBC安装使用指南1
- Subversion(SVN)安装使用指南
- csscan安装使用指南
- Amazon s3cmd 安装使用指南
- Samba安装使用指南
- Redis安装和使用指南
- Python:list
- elasticsearch开发
- 在Android Studio中设置编码格式
- JobScheduler学习
- IOS简单的画线功能实现
- devise安装使用指南
- OpenWRT的包依赖 package DEPEND
- linux命令之ifdown
- apache-cxf-2.2.12 cmd 生成服务端,希望能给大家带来方便
- 脚本实现查找给定后缀的文件
- 利用ReLU输出稀疏性加速卷积
- Robot Framework的第一天
- ssh服务器
- 数据库表及字段命名规范