Philippe Creux
2009-Jul-24 12:21 UTC
datetime type raises error on assignment – date type don''t
Hi everybody,
I have model with a datetime column named "end_date"
I use a date_select in a create view. A sample post request contains:
{"project" => {"name"=>"A project",
"end_date(3i)"=>"24",
"end_date(1i)"=>"2011",
"end_date(2i)"=>"2"}}
I get the following error:
ActiveRecord::MultiparameterAssignmentErrors: 1 error(s) on assignment
of multiparameter attributes
Running the console:>> Project.new({"name"=>"A project",
"end_date(3i)"=>"24",
"end_date(1i)"=>"2011",
"end_date(2i)"=>"2"})
ActiveRecord::MultiparameterAssignmentErrors: 1 error(s) on assignment
of multiparameter attributes
from
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:3061:in
`execute_callstack_for_multiparameter_attributes''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:3022:in
`assign_multiparameter_attributes''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:2749:in
`attributes=''
from
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:2439:in
`initialize''
from (irb):4:in `new''
>> Project.columns_hash["end_date"]
=> #<ActiveRecord::ConnectionAdapters::MysqlColumn:0xb6df14a0
@type=:datetime, @precision=nil, @primary=false, @limit=nil,
@default=nil, @null=true, @name="end_date", @scale=nil,
@sql_type="datetime">
Now, I change the column type from "datetime" to "date" and
it works!
>> Project.new({"name"=>"A project",
"end_date(3i)"=>"24",
"description"=>"",
"end_date(1i)"=>"2011",
"end_date(2i)"=>"2"})
=> #<Project id: nil, name: "A project", description:
"", created_at:
nil, updated_at: nil, creator_id: nil, updater_id: nil, end_date:
"2011-02-24">
=> #<ActiveRecord::ConnectionAdapters::MysqlColumn:0xb6f3d4bc
@type=:date, @precision=nil, @primary=false, @limit=nil, @default=nil,
@null=true, @name="end_date", @scale=nil,
@sql_type="date">
Is that a bug with datetime type or I missed something?
Cheers,
Philippe
--
Posted via http://www.ruby-forum.com/.