我正在编写一个Rails应用程序来管理我们网站顶部的一系列横幅;每个应链接到由编辑器提供的URL或从下拉列表中选择的特定产品.
我想在模型中进行某种验证,以便与其他检查保持一致,确保在保存时提供了一个(但不是两个)字段(产品ID或URL).
有没有验证类型的方式检查这个,或者我必须把这个检查在控制器的某个地方?
解决方法
这是一个非常直接的验证模型:
validate :check_consistency def check_consistency if product_id.blank? and url.blank? #one at least must be filled in,add a custom error message return false elsif !product_id.blank? and !url.blank? #both can't be filled in,add custom error message return false else return true end end