Hi All, I created a new Expense item. In particular, the value I entered in the Amount field was 14.99. In the scaffold invocation for this field, I declared its type to be Decimal. The log for the creation of this expense record shows "amount"=>"14.99" But log for the SQL statement shows: Create (16.0ms) [0m [0mINSERT INTO `expenses` (`purpose`, `by`, `updated_at`, `date`, `type`, `amount`, `vendor`, `created_at`) VALUES(''fun'', ''RLM'', ''2010-03-12 22:11:24'', ''2010-03-12'', NULL, 14, ''Ringling Bros'', ''2010-03-12 22:11:24'') So the amount has been converted to an integer with the decimal portion of the input truncated. What’s the best way to resolve this problem? Thanks in Advance, Richard -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Fri, 2010-03-12 at 19:44 -0800, RichardOnRails wrote:> Hi All, > > I created a new Expense item. In particular, the value I entered in > the Amount field was 14.99. In the scaffold invocation for this > field, I declared its type to be Decimal. > > The log for the creation of this expense record shows > "amount"=>"14.99" > > But log for the SQL statement shows: > Create (16.0ms) [0m [0mINSERT INTO `expenses` (`purpose`, `by`, > `updated_at`, `date`, `type`, `amount`, `vendor`, `created_at`) > VALUES(''fun'', ''RLM'', ''2010-03-12 22:11:24'', ''2010-03-12'', NULL, 14, > ''Ringling Bros'', ''2010-03-12 22:11:24'') > So the amount has been converted to an integer with the decimal > portion of the input truncated. > > What’s the best way to resolve this problem? > > Thanks in Advance,---- check the sql db and see how the column is defined... check db/schema.rb and see how the column is defined... Craig -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Hi Craig, Thanks for responding. sql.db There doesn''t appear to be such a critter in my project, although it was created with script/scaffold db\schema.db create_table "expenses", :force => true do |t| [snip] t.integer "amount", :limit => 10, :precision => 10, :scale => 0 But just before I logged in right now, the fundamental cause of my problem struck me: When I declared expense:decimal in the scaffold, I didn''t declare :scale=>10, :precision=>2, which is what I want. So there''s a new question, I think: - Can I declare successive migrations where I drop column and then add column, or - can I just add those attributes to the column? I don''t care about the any data in there at the moment: it''s all toy data for testing. I look forward to your additional thoughts. Best wishes, Richard On Mar 12, 11:04 pm, Craig White <craigwh...-BQ75lA0ptkhBDgjK7y7TUQ@public.gmane.org> wrote:> On Fri, 2010-03-12 at 19:44 -0800, RichardOnRails wrote: > > Hi All, > > > I created a new Expense item. In particular, the value I entered in > > the Amount field was 14.99. In the scaffold invocation for this > > field, I declared its type to be Decimal. > > > The log for the creation of this expense record shows > > "amount"=>"14.99" > > > But log for the SQL statement shows: > > Create (16.0ms) [0m [0mINSERT INTO `expenses` (`purpose`, `by`, > > `updated_at`, `date`, `type`, `amount`, `vendor`, `created_at`) > > VALUES(''fun'', ''RLM'', ''2010-03-12 22:11:24'', ''2010-03-12'', NULL, 14, > > ''Ringling Bros'', ''2010-03-12 22:11:24'') > > So the amount has been converted to an integer with the decimal > > portion of the input truncated. > > > What’s the best way to resolve this problem? > > > Thanks in Advance, > > ---- > check the sql db and see how the column is defined... > check db/schema.rb and see how the column is defined... > > Craig > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean.-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Thanks, again, profusely for your response. < Do you know how to look at your database? mysql> describe expenses; +------------+--------------- | Field | Type +------------+--------------- | amount | decimal(10,0)> > Can I declare successive migrations where I drop column ... > Get familiar with Rails API... http://api.rubyonrails.org/Thanks for that API. Actually, I''ve had a tab open on http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html while trying to get a control with drop-down-selection coded ... but that''s for another day.> It has answers to so many things that you will find that yes, > you can drop/add columns and you can change columns via migrations.Thank goodness for that! But I wasn''t able to find "drop column" and resorted to http://www.oracle.com/technology/pub/articles/kern-rails-migrations.html to find this list: 13 remove_column :albums, :year 14 rename_column :albums, :year_int, :year 15 change_column :albums, :year, :integer, :limit => 4, :null => false which gave me the answer I really wanted: #15 Bottom line: you''re a great resource. You pointed me in the right directions and I got to Nirvana! Thanks again, Craig, very much, Richard -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.