I could not find an existing bug report filed, so I submitted a
ticket<http://datamapper.lighthouseapp.com/projects/20609-datamapper/tickets/1092-integer-properties-cannot-be-set-to-a-blank-string-when-using-mysql>
with
the proposed fix.
..tony..

On Mon, Oct 12, 2009 at 12:10 PM, Tony Mann <[email protected]> wrote:

> I came up with what seems like a decent fix. In Datamapper::Property I
> added these lines at the head of typecast_to_numeric:
> def typecast_to_numeric(value, method)
>       if value.is_a?(String) && value.strip.empty?
>         nil
>       elsif...
>
> If this seems like a reasonable approach, I can submit a bug and patch (or
> perhaps a bug is filed already).
>
> ..tony..
>
> On Mon, Oct 12, 2009 at 11:53 AM, Tony Mann <[email protected]> wrote:
>
>> In DM 0.10.1, if you pass a blank string into an Integer property, you get
>> the following exception when using MySQL:
>>
>> DataObjects::SQLError: Incorrect integer value: '' for column 'num' at row
>> 1
>>
>> Here is the code that shows the issue:
>>
>> http://gist.github.com/208625
>> The causes major problems when submitting forms in Merb, since blank
>> fields are passed as in as blank string parameter values, and these
>> parameter values are generally passed right into a Resource#update call.
>> This problem did not occur in 0.9.
>>
>> I looked at the DM code, but I could not find an obvious place to add code
>> to massage the blank strings to nils. Any suggestions?
>>
>> ..tony..
>>
>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"DataMapper" 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/datamapper?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to