gpt4 book ai didi

ruby-on-rails - 如何为我的 ActiveRecord 模型编写带有参数的自定义验证方法?

转载 作者:数据小太阳 更新时间:2023-10-29 06:41:51 35 4
gpt4 key购买 nike

在我的模型中我有:

validate :my_custom_validation

def my_custom_validation
errors.add_to_base("error message") if condition.exists?
end

我想像这样向 mycustomer vaildation 添加一些参数:

validate :my_custom_validation, :parameter1 => x, :parameter2 => y

如何编写 mycustomvalidation 函数来考虑参数?

最佳答案

验证器通常有一个数组参数,首先指示要验证的字段,最后(如果存在)带有选项的散列。在你的例子中:

:my_custom_validation, parameter1: x, parameter2: y

:my_custom_validation 将是一个字段名,而 parameter1: x, parameter2: y 将是一个散列:

{ parameter1: x, parameter2: y}

因此,你会做类似的事情:

def my_custom_validation(*attr)
options = attr.pop if attr.last.is_a? Hash
# do something with options
errors.add_to_base("error message") if condition.exists?

end

关于ruby-on-rails - 如何为我的 ActiveRecord 模型编写带有参数的自定义验证方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/106251/

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