Vì vậy, tôi có một biểu mẫu nơi người dùng có thể nhập giá. Tôi đang cố gắng thực hiện một before_validation bình thường hóa dữ liệu, cắt bớt $ nếu người dùng đặt nó.Chuyển đổi đầu vào của Người dùng thành số nguyên
before_validation do
unless self.price.blank? then self.price= self.price.to_s.gsub(/\D/, '').to_i end
end
Nếu người dùng đóng góp $ 50 Mã này được đem lại cho tôi 0. Nếu người dùng đóng góp 50 $ mã này mang lại cho tôi 50. Tôi nghĩ rằng kể từ khi kiểu dữ liệu là số nguyên ray đang chạy .to_i trước before_validation của tôi và cắt tất cả mọi thứ sau $. Mã này hoạt động tốt nếu kiểu dữ liệu là một chuỗi.
Bất kỳ ai có giải pháp cho phép tôi giữ nguyên kiểu dữ liệu số nguyên?
Cảm ơn bạn. Tôi luôn nghĩ rằng việc sử dụng before_validation là khá vụng về. Điều này chắc chắn là thanh lịch hơn. –