我是很新,Rails和我现在整个这我不能和我的朋友谷歌:)Rails - 如何验证一个字段只有当另一个字段有一定的值?
在我的形式解决我有三个值中选择一个问题就来了:苹果,香蕉和樱桃。如果我从select中选择Apple我隐藏了另一个Select-和带有一些Javascript的文本字段,因为当选择Apple时,不需要再填写这两个字段。
所以,现在我有一个验证我的表单时提交的问题。 我发现一些类似的问题,例如在 的情况下“只验证一个字段,如果另一个为空。”
这个问题已经解决这样的:
validates_presence_of :mobile_number, :unless => :home_phone?
所以我只是试着它突然出现在我的脑海里的第一件事:
validates_presence_of :state, :granted_at, :if => :type != 1
但是当我运行它,我得到这个错误:
undefined method `validate' for true:TrueClass
所以现在我也没弄明白怎么可以从中创建对象访问值... 预先感谢您的帮助,我希望我的问题并不像听起来那么明显:-)
谢谢你为快速响应:)但什么包含这个块变量“o”?正在验证的对象? – TehQuila 2012-01-13 13:07:59
是的,确切地说。也可以看看@ Hauleth的答案,您可以在其中找到解决问题的其他方法。权威性参考可以在Rails API文档中找到:http://ar.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html希望有所帮助。此外,我建议你谷歌“红宝石procs和块”了解这背后的基本(红宝石)积木。希望有所帮助。 – Matt 2012-01-13 19:17:21