如何保存用户名的小写版本?我正在尝试执行“如何处理自定义 url 中的大写和小写字符? ”中所说的内容。
我想将用户名的小写版本和区分大小写的版本保存在两个不同的列中。
谢谢你。
您可以在模型中添加类似这样的lower_username
内容,表中的另一个用户名列在哪里。
#Simply populates the field on the database
before_save :downcase_username
或者
#If you have validation of the username (ie must be a unique field),
#you may want to assign the lowercase username before the validation occurs.
before_validation :downcase_username
创建私有方法以填充小写用户名列
private
def downcase_username
self.lower_username = self.username.downcase
end
# in user model
before_validation :generate_lowercase_username
private
def generate_lowercase_username
self.lowercase_username = username.downcase
end
@user.username = "AbCd"
@user.lowercase_username = @user.username.downcase
@user.save