Ruby on rails 提交货币验证错误

Ruby on rails 提交货币验证错误,ruby-on-rails,Ruby On Rails,我的表格中的字段以小数和精度表示,如下所示: change_column :product, :price, :decimal, precision: 20, scale: 10 我这样设置验证 validates :price, numericality: true, format: { with: /^\d{1,20}(\.\d{0,10})?$/ } 当我从客户端输入值90000.00并尝试保存时;如果说它不是数字,则会发生错误 有人知道吗?提前感谢。您可以在验证之前使用回调来设置传递

我的表格中的字段以小数和精度表示,如下所示:

change_column :product, :price, :decimal, precision: 20, scale: 10
我这样设置验证

validates :price, numericality: true, format: { with: /^\d{1,20}(\.\d{0,10})?$/ }
当我从客户端输入值90000.00并尝试保存时;如果说它不是数字,则会发生错误


有人知道吗?提前感谢。

您可以在验证之前使用
回调来设置传递给验证器的pe的价格值的格式。

不要在其中添加逗号。如果这是rails中设置的默认格式,怎么会呢?还有其他解决方案吗?您可以使用一些过滤器来清除输入中的所有逗号或任何允许的额外字符。与您的情况类似,您可以使用gsub(“,”,“”)将所有逗号替换为空白。