我想将 devise 注册用户时默认的的 email 字段,更换成其他的字段,比如:username,请问是不是需要覆写 RegistrationController 的 Create 方法?谢谢
没做过这种事,email 是 hard code,通常做法应该不太可行,我倒是觉得自己改一下 gem 更简单。 另外,devise 适合从零开始做的项目,如果是遗留系统,干脆抛开 devise 可能更好
修改 config/initialize/devise.rb 文件
找到 config.authentication_keys = [ :email ]
修改成
config.authentication_keys = [ :username ]
#8 楼 @zhex 在用户注册后,邮箱是和用户名一致的,也就是用户名 david 在系统中会有一个 [email protected] 的邮箱。邮箱功能是照用的。
@DavidWei 那也许你可以尝试在 validation 前就自动把 email 的地址补齐,你的 username 是唯一的,所以 email 也会是唯一的
想要完全放弃 email 就要把 email 的 validations 都去掉 email_required? 好像也要 return false 在建立 user 的时候用 username 自动补全比较靠谱