The current implementation that throws everything into that one method is really rather kludgy, but I don't see why this can't go in there for now.
Any comments Bryan? Tom On 1 Jun 2009, at 18:48, Montgomery Kosma wrote: > > (or how about field_type <= Numeric for that matter?) > > On Jun 1, 1:44 pm, Montgomery Kosma <[email protected]> wrote: >> one related question: any objection to making the case apply to >> Integer as well as BigDecimal? You have the same truncation-without- >> warning problems -- a user who enters "1,234" for an integer writes a >> "1" into the db. >> >> On Jun 1, 1:38 pm, Montgomery Kosma <[email protected]> wrote: >> >>> Been poking through the source looking for the "right" place to >>> access >>> user-entered data from forms before they are updated to the >>> model. My >>> goal is to clean up BigDecimal to strip thousands-separators, since >>> commas cause truncation and my users are frequently cutting-and- >>> pasting from other apps where numbers are displayed with separators. >> >>> convert_type_for_mass_assignment seems to do the same thing for >>> other >>> types. I propose modifying it by adding this before the final else >>> clause: >> >>> elsif field_type <= BigDecimal >>> delimiter = I18n.translate(:'number.format', :raise => true) >>> [:delimiter] rescue '' >>> value.delete(delimiter) >> >>> Thought about protecting against misplaced separators, e.g., by >>> using >>> gsub(/,(\d{3})/, '\1') instead of delete. However, if I do that, I'd >>> really prefer reporting the error to the user, and not sure how to >>> do >>> that in a general way. >> >>> One more thought - if not appropriate to add this BigDecimal >>> handling >>> generally, would it make sense to add a callback to make it easier >>> to >>> intercept types not caught by the final 'else' ? > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Hobo Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/hobousers?hl=en -~----------~----~----~----~------~----~------~--~---
