ruby基础功能-用户注册

  1. 创建user表

rails g model user name:string email:string password_digest:string

密码一般不明文保存

  1. 创建登录动作 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


  1. 保存密码

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

你可能感兴趣的:(ruby基础功能-用户注册)