Luc*_*nan 5 validation activerecord ruby-on-rails ruby-on-rails-3
class Author
has_many :books
validates :email, :presence => true
end
class Book
belongs_to :author
validates :title, :presence => true
end
Run Code Online (Sandbox Code Playgroud)
跳过验证很简单:
a = Author.new
a.save(:validate => false)
Run Code Online (Sandbox Code Playgroud)
但是,在创建书籍而不跳过书籍验证时,我需要跳过作者验证,如下所示:
b = Book.new
b.title = "A Book"
b.author = Author.last
b.save
Run Code Online (Sandbox Code Playgroud)
我完全不明白你的问题。在您的示例中,您没有创建任何新的作者对象:
> b = Book.new
> b.title = "A Book"
>
> b.author = Author.last
> b.save
Run Code Online (Sandbox Code Playgroud)
如果您尝试在没有电子邮件的情况下创建新作者,您不能这样做:
b = Book.new
b.title = "A Book"
author = Author.new
author.save(:validate => false)
b.author = author
b.save
Run Code Online (Sandbox Code Playgroud)
嗯...也许我只是在这里遗漏了一些明显的东西。