- 创建user表
rails g model user name:string email:string password_digest:string
密码一般不明文保存
- 创建登录动作 signup
rails g controller users signup
def signup
@user = User.new
end
在注册的时候会因为没有create方法而报错,故需要user创建create方法,在routes.rb添加
resources :users, only: [:create]
def create
user = User.new(user_params)
user.save
redirect_to :root
end
- 保存密码
ActiveModel 中的 has_secure_password 方法方便设置密码
使用事项
1. 需要Gem, gem 'bcrypt', '~> 3.1.7'
2. model必须存在 password_digest
校验
1.存在性校验
2.长度校验(小于72bytes)
3.一致性校验(password_confirmation)
class User < ApplicationRecord
has_secure_password
end