Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用属性api验证数值性_Ruby On Rails_Ruby_Validation - Fatal编程技术网

Ruby on rails 使用属性api验证数值性

Ruby on rails 使用属性api验证数值性,ruby-on-rails,ruby,validation,Ruby On Rails,Ruby,Validation,似乎无法处理用声明的属性 类测试器 包括ActiveModel::Model 包含ActiveModel::属性 属性:单位,:整数 验证:单位,数值性:真 结束 t=测试仪。新(单位:“ABC”) t、 有效吗?#=>真的 t、 errors.full_消息#=>[] 我希望t无效,因为ABC不是一个数字。如果Tester是ActiveRecord::Base,则此选项有效。(Rails 5)没有错误,因为ActiveModel::Attributes将值强制转换为定义的类型 在您的例子中,

似乎无法处理用声明的属性

类测试器
包括ActiveModel::Model
包含ActiveModel::属性
属性:单位,:整数
验证:单位,数值性:真
结束
t=测试仪。新(单位:“ABC”)
t、 有效吗?#=>真的
t、 errors.full_消息#=>[]

我希望
t
无效,因为
ABC
不是一个数字。如果Tester是ActiveRecord::Base,则此选项有效。(Rails 5)

没有错误,因为
ActiveModel::Attributes
将值强制转换为定义的类型

在您的例子中,
'ABC'
被强制转换为整数,
'ABC'.to_i#=>0
。而
0
显然是一个数字


运行示例代码后,可以通过检查
t.units
的值来检查这一点。

您知道如何使类型强制和验证一起工作吗?