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.