为何validates_uniqueness_of不先去尾空格再检查唯一性?
- 内容介绍
- 文章标签
- 相关推荐
本文共计200个文字,预计阅读时间需要1分钟。
假设我在用户名上实现`validates_uniqueness_of`。如果名称maddy已存在,那么它将接受maddy作为唯一值而不是maddy。它应该删除两边的空格。这种行为的目的是确保用户名是唯一的,并且格式化一致。以下是修改后的代码:
rubyclass Person before_validation :trim_whitespace
validates_uniqueness_of :username
private
def trim_whitespace self.username.strip! endend
class Person before_validation :strip_blanks protected def strip_blanks self.name = self.name.strip end end
此代码段的来源包含一些讨论,说明为什么这不是默认的Rails行为. www.ruby-forum.com/topic/166426
本文共计200个文字,预计阅读时间需要1分钟。
假设我在用户名上实现`validates_uniqueness_of`。如果名称maddy已存在,那么它将接受maddy作为唯一值而不是maddy。它应该删除两边的空格。这种行为的目的是确保用户名是唯一的,并且格式化一致。以下是修改后的代码:
rubyclass Person before_validation :trim_whitespace
validates_uniqueness_of :username
private
def trim_whitespace self.username.strip! endend
class Person before_validation :strip_blanks protected def strip_blanks self.name = self.name.strip end end
此代码段的来源包含一些讨论,说明为什么这不是默认的Rails行为. www.ruby-forum.com/topic/166426

