我正在尝试使用validation_presence_of
创建一个特殊的验证案例,如下所示:
class Foo
attr_accessor :a, :b
include ActiveModel::Validations
validates_presence_of :a, :unless => Proc.new{ |b| not b.nil? }
validates_presence_of :b, :unless => Proc.new{ |a| not a.nil? }
end
在下面的代码中,我想说 validate a
unlessb
已经验证,并且 validate b
unlessa
已经验证。所以如果a
已经定义,我可以b
留空,如果b
已经定义,那么我可以a
留空。但是,如果两者都被定义,那么这也是一个有效的答案。我只是不知道为什么我的代码不起作用。我是新手,我真的不明白我哪里出错了。