0

我的表中有十进制和精度的字段如下:

change_column :product, :price, :decimal, precision: 20, scale: 10

我这样设置验证

validates :price, numericality: true, format: { with: /^\d{1,20}(\.\d{0,10})?$/ }

当我从客户端输入值90,000.00并尝试保存时;发生错误,说它不是数字。

有人有什么想法吗?提前致谢。

4

1 回答 1

0

您可以使用before_validation回调将价格值格式化为传递给验证器的 pe。

于 2012-12-14T09:53:25.047 回答