我有一个模型 A,它与另一个模型 B 具有“has_many”关联。我有一个业务要求,即插入 A 需要至少 1 个与 B 相关的记录。是否有我可以调用的方法来确保这是真的,或者我需要编写自定义验证吗?
您可以使用validates_presence_of
http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates_presence_of http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates_presence_of
class A < ActiveRecord::Base
has_many :bs
validates_presence_of :bs
end
or just validates
http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates
class A < ActiveRecord::Base
has_many :bs
validates :bs, :presence => true
end
但如果你使用它,就会有一个错误accepts_nested_attributes_for
with :allow_destroy => true
: 嵌套模型和父验证 https://stackoverflow.com/questions/5144527/nested-models-and-parent-validation。在本主题中您可以找到解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)