我正在开发一个rails项目,它有两个模型,Business和User,以及它们之间的HABTM关系。我想在业务模型中添加验证器,这样,如果没有至少一个用户,就无法创建或更新业务。
我被告知在业务模型中使用validate :users, :presence => true
,但这不适用于关联,只适用于db列。对此有一个简单的验证器吗?
修改
我很糟糕,事实证明我有一个错字。 validate :users, :presence => true
完全适用于协会。我正在选择第一个答案,因为Phillip的链接帮助我意识到了这一点,而且我要离开这个问题以防其他人犯同样的愚蠢错误。
答案 0 :(得分:1)
查看validates_associated
。文档说“验证关联的对象是否全部有效。适用于任何类型的关联。”
答案 1 :(得分:0)
您可以执行以下操作:
class Business < ActiveRecord::Base
validate :some_method
def some_method
# return true to validate true, return false to validate false
end
end
虽然这可能不是内置方式,但这确实为您提供了如何验证模型验证的灵活性。