Я повторно задаю этот вопрос , потому что код и пример неверны (на самом деле это работает в показанном случае).
Учитывая эти модели:
class Author < ActiveRecord::Base
has_many :books
validates_presence_of :email
end
class Book < ActiveRecord::Base
belongs_to :author
validates_presence_of :title
end
Мы можем пропустить проверки при создании Книги:
b = Book.new
b.save(:validate => false)
Но если мы извлечем недопустимую Книгу из базы данных и назначим ее ассоциации в Авторах, нам не разрешено сохранять Автора:
a = Author.new
a.email = "foo"
a.books = Book.all
a.save!
Это ошибка:
ActiveRecord :: RecordInvalid: Ошибка проверки: Книги недействительны
Как пропустить проверки для связанныхЗаписывать модели, не пропуская их для Автора?
Обратите внимание, что высказывание has_many :books, :validate => false
в Авторах не помогает: ассоциация, молча отброшенная с Авторами, сохраняется.