validates_uniqueness_of 和唯一性的验证有什么不同吗?
is there any difference in validation of validates_uniqueness_of and uniqueness?
class Category < ApplicationRecord
validates :name ,presence: true
validates_uniqueness_of :name
end
class Category < ApplicationRecord
validates :name ,presence: true,uniqueness: true
end
给定的两个模型的验证有什么不同吗?
有两种方法可以准确回答这个问题:
1 - 它的行为方式完全相同。
从这个意义上说,没有区别。 validates_uniqueness_of
生成与 validates
上的 :uniqueness
标志完全相同的验证。
2 - 有理由使用标志
就读取模型而言,标志很有帮助,因为它们允许您将所有验证放在同一位置的属性(此处为名称)上。因此,当您关闭时,您会看到名称验证,并且您可以确信您知道那一行上的所有内容。
还值得注意的是,旗帜是一种较新的样式,并且可能会在将来的某个时候从 Rails 中删除较旧、更冗长的样式。
class Category < ApplicationRecord
validates :name ,presence: true
validates_uniqueness_of :name
end
class Category < ApplicationRecord
validates :name ,presence: true,uniqueness: true
end
给定的两个模型的验证有什么不同吗?
有两种方法可以准确回答这个问题:
1 - 它的行为方式完全相同。
从这个意义上说,没有区别。 validates_uniqueness_of
生成与 validates
上的 :uniqueness
标志完全相同的验证。
2 - 有理由使用标志
就读取模型而言,标志很有帮助,因为它们允许您将所有验证放在同一位置的属性(此处为名称)上。因此,当您关闭时,您会看到名称验证,并且您可以确信您知道那一行上的所有内容。
还值得注意的是,旗帜是一种较新的样式,并且可能会在将来的某个时候从 Rails 中删除较旧、更冗长的样式。