ruby-on-rails – 带条件的validates_associated模型

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 带条件的validates_associated模型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下validates_associated场景

class Parent
  include Mongoid::Document
  validates_associated :son
  validates_associated :daughter
end

当我创建父母时,儿子或女儿中的任何一个都不会同时创建.
现在我的问题是,当我尝试用子创建父级时,验证因子女验证而失败,反之亦然.

有什么方法可以在张贴儿子参数时只验证儿子,或者在张贴子参数时仅验证女儿

谢谢

解决方法

您可以提供:if选项并测试相关文档是否存在:

class Parent
  include Mongoid::Document
  validates_associated :son,:if => Proc.new { |p| p.son.present? } 
  validates_associated :daughter,:if => Proc.new { |p| p.daughter.present? }
end

猜你在找的Ruby相关文章