我正在尝试将键的值验证到我的模式中。
但是我得到了一个no implicit conversion of Float into String,因为它的值是一个浮点数,并且我使用正则表达式来验证格式。
VALIDATION_PARAMETERS = Dry::Validation.Schema(ApplicationSchema) do
required(:uid, :string).filled
required(:value).filled
rule(insulating_surface: [:uid, :value]) do |uid, value|
uid.eql?('insulating_surface').then(value.format?(FLOAT_FORMAT))
end
end我还试图将浮点数转换为字符串,但它返回undefined method format?' for #<String:0x0000557d8877a910>
rule(insulating_surface: [:uid, :value]) do |uid, value|
uid.eql?('insulating_surface').then(value.to_s.format?(FLOAT_FORMAT))
end发布于 2019-05-24 20:52:01
我不太熟悉dry-validation,但我看到有很多内置谓词的文档,包括float?。请尝试执行以下操作:
rule(insulating_surface: [:uid, :value]) do |uid, value|
uid.eql?('insulating_surface') > value.float?
endhttps://stackoverflow.com/questions/56289902
复制相似问题