Je vais résumer la validation utilisée dans la création actuelle de l'application.
with_options
Prenant comme exemple la validation fréquemment utilisée
model
validates :user, presence: true
validates :item, presence: true
validates :price, presence: true
validates :email, presence: true
C'est juste la même chose, ça devient plus long et plus lisible ...
Dans un tel cas, vous pouvez définir la validation collectivement avec with_options
.
model
with_options presence: true do
validates :user
validates :item
validates :price
validates :email
end
model
with_options presence: true do
validates :user, length: { minimum: 6 }
validates :item
validates :price, format: { with: /\A[0-9]+\z/ }
validates :email
end
La validation peut être ajoutée individuellement dans do ~ end. À propos, l'option de longueur peut limiter le nombre de caractères. L'option de format est une spécification pour les expressions régulières.
model
with_options presence: true do
validates :user
validates :item
with_options uniqueness: true do
validates :price
validates :email
end
end
Vous pouvez imbriquer with_options dans with_options.
Dans l'exemple ci-dessus,
présence: true
est défini sur: utilisateur ,: article ,: prix ,: email
De plus, ʻuniqueness: true` est défini sur: price ,: email.
À propos, l'option d'unicité vous empêche d'enregistrer la même valeur. (Unicité)
Écrire avec with_options est similaire au sentiment de se résumer en termes communs par apprentissage de factorisation qui est sorti en mathématiques du premier cycle du secondaire.
Recommended Posts