Quindi ho un modulo in cui gli utenti possono inserire un prezzo. Sto provando a fare un before_validation che normalizza i dati, tagliando $ se l'utente lo mette.Convertire l'input dell'utente nel numero intero
before_validation do
unless self.price.blank? then self.price= self.price.to_s.gsub(/\D/, '').to_i end
end
Se gli input dell'utente $ 50 Questo codice mi sta dando 0. Se gli ingressi di utenti 50 $ questo codice mi dà 50. Credo che dal momento che il tipo di dati è intero che Rails è in esecuzione .to_i prima del mio before_validation e ritaglio tutto dopo il $. Questo stesso codice funziona bene se il tipo di dati è una stringa.
Chiunque ha una soluzione che mi consente di mantenere il tipo di dati intero?
Grazie. Ho sempre pensato che l'uso di before_validation sia piuttosto goffo. Questo è decisamente più elegante. –