Are you having an issue where ActiveRecord is insisting a column in an integer even when MySQL says it is a decimal?

Check the definition of the table in Mysql, chances are you have a decimal column with no decimal “scale” set.

By default, if you don’t tell Mysql ho many decimal places to use it will have none, and ActiveRecord will then simply interpret that as an Integer.

Update you column with a migration like this:

change_column('table_name', 'colun_name', :decimal, { :scale => 2, :precision => 10 } )