【问题标题】:is there any difference in validation of validates_uniqueness_of and uniqueness?validates_uniqueness_of 和唯一性的验证有什么区别吗?
【发布时间】:2020-01-10 09:37:47
【问题描述】:
class Category < ApplicationRecord
    validates :name ,presence: true
    validates_uniqueness_of :name
end

class Category < ApplicationRecord
    validates :name ,presence: true,uniqueness: true
end

给定的两个模型的验证有什么不同吗?

【问题讨论】:

    标签: ruby-on-rails activerecord rails-activerecord


    【解决方案1】:

    有两种方法可以准确回答这个问题:

    1 - 它的行为方式完全相同。

    从这个意义上说,没有区别。 validates_uniqueness_of 生成与 validates 上的 :uniqueness 标志完全相同的验证。

    2 - 使用标志是有原因的

    在阅读模型方面,标志很有帮助,因为它们允许您将所有验证放在同一个位置的属性(这里是名称)上。因此,当您向下搜索时,您会看到名称上的验证,并且您可以确信您知道它们都在那条线上。

    还值得注意的是,标志是一种较新的样式,并且可能会在将来的某个时候从 Rails 中删除旧的、更冗长的样式。

    【讨论】:

      猜你喜欢
      • 2014-06-04
      • 1970-01-01
      • 2013-08-11
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-11
      相关资源
      最近更新 更多