Итак, у меня есть форма, в которой пользователи могут вводить цену. Я пытаюсь сделать before_validation, который нормализует данные, обрезая $, если пользователь ставит его.
before_validation do
unless self.price.blank? then self.price= self.price.to_s.gsub(/\D/, '').to_i end
end
Если пользователь вводит $50, этот код дает мне 0. Если пользователь вводит 50 $, этот код дает мне 50. Я думаю, так как тип данных является целым числом, что rails работает .to_i до моего before_validation и отсекает все после $. Этот же код отлично работает, если тип данных является строкой.
У кого-нибудь есть решение, которое позволит мне сохранить целочисленный тип данных?