跳过验证相关的对象 - 导轨的ActiveRecord [英] Skip validation for related objects - rails activerecord
本文介绍了跳过验证相关的对象 - 导轨的ActiveRecord的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
类作者
的has_many:书籍
验证:电子邮件:presence =>真正
结束
类图书
belongs_to的:作者
验证:标题:presence =>真正
结束
跳过验证很简单:
A = Author.new
a.save(:验证=>假)
不过,我需要跳过笔者验证没有跳过书的验证创建一本书的时候,像这样的:
B = Book.new
b.title =一书
b.author = Author.last
b.save
解决方案
由于笔者验证显得不是那么重要,同时节省你的模型,你可以写这样的书型号:
类图书
belongs_to的:作者:验证=>假
验证:标题:presence =>真正
结束
这样,作者验证将被跳过,同时节省。
class Author
has_many :books
validates :email, :presence => true
end
class Book
belongs_to :author
validates :title, :presence => true
end
Skipping validations is easy:
a = Author.new
a.save(:validate => false)
However, I need skip author validations when creating a book without skipping books validations, like this:
b = Book.new
b.title = "A Book"
b.author = Author.last
b.save
解决方案
Since author validation seems not so important while saving your model, you could write your Book model like this:
class Book
belongs_to :author, :validate => false
validates :title, :presence => true
end
This way, authors validations will be skipped while saving.
这篇关于跳过验证相关的对象 - 导轨的ActiveRecord的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文