RoR:模型验证问题

Jas*_*zek 4 ruby ruby-on-rails

我有一个基本的ActiveRecord模型,其中我有两个我想验证的字段.要求是至少有一个字段必须具有值.两者都可以有值,但至少有一个需要值.

我如何表达这一点

validates_presence_of 
Run Code Online (Sandbox Code Playgroud)

声明?例如:

validates_presence_of :main_file
validates_presence_of :alt_file
Run Code Online (Sandbox Code Playgroud)

如果只有其中一个为空,我不希望生成错误,只有两者都是空的.

Bar*_*mke 5

validates_presence_of :main_file, :if => Proc.new { |p| p.alt_file.blank? }
validates_presence_of :alt_file, :if => Proc.new { |p| p.main_file.blank? }
Run Code Online (Sandbox Code Playgroud)