Je demande à nouveau this question car le code et l'exemple sont incorrects (cela fonctionne dans le cas indiqué).Rails ActiveRecord: Ignorer les validations pour les associations
Compte tenu de ces modèles:
class Author < ActiveRecord::Base
has_many :books
validates_presence_of :email
end
class Book < ActiveRecord::Base
belongs_to :author
validates_presence_of :title
end
Nous pouvons passer des validations lors de la création d'un livre:
b = Book.new
b.save(:validate => false)
Mais si nous récupérons le Livre invalide de la base de données et lui attribuer à l'association Auteur, nous ne sommes pas autorisés à enregistrer Auteur:
a = Author.new
a.email = "foo"
a.books = Book.all
a.save!
Ceci est l'erreur:Comment pouvons-nous ignorer les validations pour les modèles Book associés sans les ignorer pour Author?
Notez que dire has_many :books, :validate => false
dans l'auteur n'aide pas: l'association est silencieusement jetée avec l'auteur est enregistré.
Merci! Votre code fonctionne. J'ai oublié que l'association mettait à jour la clé étrangère (et donc le modèle doit être valide). –
Je suis heureux d'avoir pu aider :) – Nycen