Integer column, decimal in the form partial


I used a migration to add an integer column to one of my data tables:
  add_column :lien, :cpc, :integer, :null => false

The user is not interested in this integer, but in 1/1 000 000 of it.
So, in my form partial I used a text_field as usual:
  <%= text_field 'lien', 'cpc' %>
But in my controller, I modify the cpc value to get an integer:
  def edit_lien
    @lien = Lien.find(params[:id])
    @lien.cpc /= 1000000
  def update_lien
    @lien = Lien.find(params[:id])
    @lien.cpc *= 1000000

This works great as long as the user enters an integer value in the
text field (if '3' is entered, the database contains 3000000 and the
user still sees '3' when re-editing). But decimal values are truncated
(if '1.5' is entered, the database contains 1000000 instead of 1500000).

I guess that's because I defined my cpc column as integer in the first
place, can I tell Rails to not truncate decimal values as I will use
them, or should I have gone another way to make this work properly?


Then don't use update_attributes. Set your attributes one by one.