Rails 3 and saving decimal values from a form

I have an odd bug in one of my applications. When I am using the
sqlite3 database the bug is not present. However when I use mysql2 as
the database adapter I run into an error saving decimal values from a
form. If I submit the value 19.99 my input after the decimal is
removed and it is stored in the database as 19.00

What would cause this? The database has the correct settings for the
column and I can create a correct record using the rails console.

Sent from my iPhone

On May 14, 2011, at 11:26 PM, Devin M [email protected] wrote:

I have an odd bug in one of my applications. When I am using the
sqlite3 database the bug is not present. However when I use mysql2 as
the database adapter I run into an error saving decimal values from a
form. If I submit the value 19.99 my input after the decimal is
removed and it is stored in the database as 19.00

What would cause this? The database has the correct settings for the
column and I can create a correct record using the rails console.

What does your migration file, model and code you are creating the
record look like? You need to provide something that the group can use
as a reproducible test case so we can help you.

B.

What would cause this? The database has the correct settings for the
column and I can create a correct record using the rails console.

The only column type that works is “decimal” is that your case?

And gimme a link to your app so that I’ll make it crash by inputting
decimal values that have a comma :wink:

I had to go through this pain for my http://suivauto.com website that
uses the French “,” instead of the “.” for decimal points.

On Sun, May 15, 2011 at 1:52 PM, Fernando P.
[email protected]wrote:

To be sure, in your migration you have the precision and scale for the
column?

t.decimal “amount”, :precision => 10, :scale => 2

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs