有人知道在小数字段中同时使用逗号和点的技巧,因为国际分隔符是Dot但在某些国家/地区是逗号。 我尝试过Before_validation,但是我遇到了很多问题,有时候工作有时没有,这就是代码:
def update_fields
[:field_1, :field_2, :field_3].each { |k|
unless k != nil
self[k.to_sym] = self.attributes_before_type_cast[k.to_s].gsub(/[.,]/, '.' => '', ',' => '.')
end
}
end
感谢您的建议。
答案 0 :(得分:1)
请尝试一下: 将它添加到GemFile
gem 'i18n_alchemy'
之后:
class MyClass < ActiveRecord::Base
include I18n::Alchemy
localize [:field1, field2, field3], using: :number
end
答案 1 :(得分:0)
除非您在前端接受千位分隔符,否则只需将所有内容更改为 dots :
value.tr!(',', '.')
使用千位分隔符,任务变得更加复杂,最简单的处理方法是使用javascript标准化客户端(即前端)上的所有内容,因为在浏览器中用户的语言环境设置可用。