class Author
has_many :books
validates :email, :presence => true
end
class Book
belongs_to :author
validates :title, :presence => true
end
跳过验证非常简单:
a = Author.new
a.save(:validate => false)
但是,在创建书籍而不跳过书籍验证时,我需要跳过作者验证,如下所示:
b = Book.new
b.title = "A Book"
b.author = Author.last
b.save
答案 0 :(得分:0)
我完全不明白你的问题。在您的示例中,您没有创建任何新的作者对象:
> b = Book.new
> b.title = "A Book"
>
> b.author = Author.last
> b.save
如果您尝试在没有电子邮件的情况下创建新作者,则不能这样做:
b = Book.new
b.title = "A Book"
author = Author.new
author.save(:validate => false)
b.author = author
b.save
嗯......也许我只是错过了一些明显的东西。
答案 1 :(得分:0)
由于在保存模型时作者验证似乎不那么重要,您可以像这样编写Book模型:
class Book
belongs_to :author, :validate => false
validates :title, :presence => true
end
这样,在保存时将跳过作者验证。