ruby-on-rails – Rails 3 – 验证两个字段之一已经完成

我正在编写一个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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...