Я не знаю, является ли это лучшим способом сделать это, но я обычно использую пользовательский установщик, допустим, ваш столбец total
, тогда я делаю что-то вроде:
def total=(value)
value = value.gsub(/[\.,],'') if value.is_a?(String) # remove , and .
write_attribute(:total, value)
end
Теперь Вы можете назначить что-нибудь вроде «1.000» или «2,343,111», и оно будет лишено запятой и точки.
Если вы хотите быть более терпимыми к значениям (по-французски вы можете написать «1 000»), вы можете используйте /\D/
для регулярного выражения, чтобы удалить все, что не является ди git.