This helper validates that the attribute's value is unique right before the object gets saved.
class Account < ApplicationRecord
validates :email, uniqueness: true
end
There is a :scope
option that you can use to specify one or more attributes that are used to limit the uniqueness check:
class Holiday < ApplicationRecord
validates :name, uniqueness: { scope: :year,
message: "should happen once per year" }
end
There is also a :case_sensitive
option that you can use to define whether the uniqueness constraint will be case sensitive or not. This option defaults to true
.
class Person < ApplicationRecord
validates :name, uniqueness: { case_sensitive: false }
end