part 2 : 我们来定义自己的登录名!
来源:互联网 发布:淘宝客服的岗位要求 编辑:程序博客网 时间:2024/05/21 08:39
example : login_name 代替email作为登录名
1, 首先,devise默认使用的是email作为登陆名字。
我们需要在数据库里添加一个字段为login_name
rails g migration AddLoginNameToUser login_name:string
rake db:migrate
2, 接下来,我们需要修改devise的配置文件
/config/initializers/devise.rb里找到 # config.authentication_keys = [:email]
去掉注释,修改email为你的登陆名字段
config.authentication_keys = [:login_name]
3. 我们告诉了验证的字段是login_name,那么,需要在登陆页面修改对应的登陆字段(以及其他页面对应的登陆字段)
<%= f.textl_field :login_name, autofocus: true %>
注意: 此处修改时,需将f.email_field修改为f.text_field,否则前端验证不能通过。
config.strip_whitespace_keys = [:login_name] => 这个是去除前后的空格.
config.password_length = 8..72 => 修改密码长度
4更新时碰到过一个问题: 修改用户密码,报错email为空!
断点处报错为email为空!
我们需要在model重写关于email的方法,如下:
ps: 对应的修改路由方法详见源码
https://github.com/plataformatec/devise/blob/master/lib/devise/rails/routes.rb#L94
--xiaozhu_personal
- part 2 : 我们来定义自己的登录名!
- C++ 中我们通过定义类来定义自己的数据结构
- 利用sharedPreference来保存我们的登录信息
- 来,我们搭个自己的博客主页
- 函数名 和 自己定义的普通函数指针 辨析
- JavaScript对象---我们自己定义对象
- ‘我们通过周围的人对我们行为的反应不停修正着对自己的定义
- 自己制作的我们学校的校园无线网自动登录程序(C#实现)
- 关于函数的自己的参数,我们必须要用全局的变量来接收
- 我们爱分享----在MyEclipse 中添加自己定义的文件模版
- Linux (PART III)看看我们的磁盘
- 为什么我的SQL登录时输入的服务器名!不可以用电“.”来代替啊!
- 我们应如何修改MFC窗口标题来符合自己的要求?
- 复制轮子还是创造轮子,我们应该怎样来提高自己的编程能力?
- 我们的市场我们来争取(转载)
- 开始还是结束,由自己来定义!
- 自己定义ASSERT来检验代码
- LFS搭建自己的Linux系统 --Part 2
- java和python改变全局变量的对比
- 类 QQ 侧拉删除
- 封装、集成、多态的概念
- 闭包
- 问题 D: 电梯
- part 2 : 我们来定义自己的登录名!
- mysql查询显示技巧
- Android 使用Retrofit2.0 + OKHttp 实现 HTTP协议请求
- c++学习笔记
- Ubuntu15.10 编译 Android4.1.1 源码
- Linux下执行定时任务
- 【android】发送短息和拨打电话功能
- LeetCode题解:Binary Tree Paths
- this的用法