Ruby on Rails Méthodes ActiveRecord Bang (!)


Exemple

Si vous avez besoin d'une méthode ActiveRecord pour générer une exception au lieu d'une valeur false en cas d'échec, vous pouvez ajouter ! pour eux. C'est très important. Comme certaines exceptions / échecs sont difficiles à détecter si vous n'utilisez pas! sur eux. J'ai recommandé de le faire dans votre cycle de développement pour écrire tout votre code ActiveRecord de cette manière afin de vous faire gagner du temps et d'éviter des problèmes.

Class User < ActiveRecord::Base
  validates :last_name, presence: true
end

User.create!(first_name: "John")
#=> ActiveRecord::RecordInvalid: Validation failed: Last name can't be blank

Les méthodes ActiveRecord qui acceptent un bang ( ! ) Sont:

  • .create!
  • .take!
  • .first!
  • .last!
  • .find_by!
  • .find_or_create_by!
  • #save!
  • #update!
  • tous les détecteurs dynamiques AR