2010-02-27 81 views

回答

7
class Model < ActiveRecord::Base 

    validates_presence_of :address, :if => :city? 

end 

:address:cityModel两个属性。

+0

这一工程!谢谢。我最终需要指定一个proc。查看我的回答,了解'if'属性接受的三种不同的事情。 – 2010-02-27 07:24:18

5

validates_presence_of接受if属性,该属性根据documentation:字符串,方法或过程采取三件事之一。

if - Specifies a method, proc or string to call to determine if the validation 
should occur (e.g. :if => :allow_validation, or 
:if => Proc.new { |user| user.signup_step > 2 }). 
The method, proc or string should return or evaluate to a true or false value. 

我最终需要使用一个进程,因为我想确保某个参数被填写验证之前:

validates_presence_of :bar, :if => Proc.new { |foo| !foo.age.blank? } 
+0

而不是创建和回答,我建议编辑您的原始问题。 – 2010-02-27 10:48:14

+0

谢谢!这就是我一直在寻找的! – JGutierrezC 2015-12-09 03:00:00

相关问题