gpt4 book ai didi

ruby-on-rails - Rails-仅当另一个字段具有特定值时,才如何验证一个字段?

转载 作者:行者123 更新时间:2023-12-03 13:08:34 26 4
gpt4 key购买 nike

我对Rails还是很陌生,现在遇到了一个无法与我的 friend Google解决的问题:)

在我的表单中,我有一个带有三个值的Select:苹果香蕉樱桃。如果我可以选择苹果的选择我躲在另一个选择 - 和文本场与一些JavaScript,因为选择苹果时,就没有必要填写这些其他两个 Realm 了。

所以现在我在提交表单时验证表单时遇到了问题。
我发现了一些类似的问题,例如
“仅当另一个字段为空时才验证该字段。”

这个问题是这样解决的:

validates_presence_of :mobile_number, :unless => :home_phone?

因此,我刚刚尝试了想到的第一件事:
validates_presence_of :state, :granted_at, :if => :type != 1

但是,当我运行它时,出现以下错误:
undefined method `validate' for true:TrueClass

所以现在我不知道如何从创建的对象中访问值...
在此先感谢您的帮助,我希望我的问题不会像听起来那样明显:-)

最佳答案

因为它是可执行代码,所以您需要将其包装在lambda或Proc对象中,如下所示:

validates_presence_of :state, :granted_at, :if => lambda { |o| o.type != 1 }

# alternatively:
..., :if => lambda { self.type != 1 }
..., :if => Proc.new { |o| o.type != 1 }
..., :if ->(o) { o.type != 1 }

关于ruby-on-rails - Rails-仅当另一个字段具有特定值时,才如何验证一个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8848601/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com