目前的样子:
Q1:attribute 的名字要怎么自定义为中文呢? Q2:如果把 :password_confirmation 的所有错误消息统一指定成『请确认密码』,要在哪里拦截呢?
user.rb
class User < ActiveRecord::Base # 有效性验证
## 用户名验证 validates :name, presence: {message: "不得为空"}, length: {maximum: 50,message: '昵称最多 50 个字符'}
## Email 验证 VALID_EMAIL_REGEX = /\A[\w+-.]+@[a-z\d-]+(.[a-z\d-]+)*.[a-z]+\z/i validates :email, presence: {message: "邮箱不能为空"}, length: {maximum: 255}, format: {with: VALID_EMAIL_REGEX, message: "请输入合法的邮箱地址"}, uniqueness: {case_sensitive:false, message: "这个 Email 已经被占用了:("} #仅仅为 ActiveRecord 的唯一性验证,不能保证 DB 的唯一性
## 密码验证 validates :password, length: {minimum: 6, message: "密码最少六位"}
# 数据落地前的操作 before_save{ self.email = email.downcase }
# 密码 has_secure_password end