I am getting this error with a very simple model and schema. The
record saves even though an error has been generated. I have tried
this with both postgres and mysql.

Here is the model.

class Person < ActiveRecord::Base
end

Here is a transcript..

 p = Person.new
 => #<Person id: nil, hash: nil, first_name: nil, last_name: nil,
middle_name: nil, date_of_birth: nil, date_of_death: nil, age: nil,
gender: nil, email: nil, state: 0, status: 0, created_at: nil,
updated_at: nil>
ree-1.8.7-2011.03 :002 > p.first_name = 'tim'
 => "tim"
ree-1.8.7-2011.03 :003 > p.save
TypeError: can't convert nil into Integer
        from 
/home/tim/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.5/lib/active_record/connection_adapters/abstract/database_statements.rb:322:in
`uniq'
        from 
/home/tim/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.5/lib/active_record/connection_adapters/abstract/database_statements.rb:322:in
`commit_transaction_records'
        from 
/home/tim/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.5/lib/active_record/connection_adapters/abstract/database_statements.rb:165:in
`transaction'
        from 
/home/tim/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.5/lib/active_record/transactions.rb:207:in
`transaction'
        from 
/home/tim/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.5/lib/active_record/transactions.rb:290:in
`with_transaction_returning_status'
        from 
/home/tim/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.5/lib/active_record/transactions.rb:240:in
`save'
        from 
/home/tim/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.5/lib/active_record/transactions.rb:251:in
`rollback_active_record_state!'
        from 
/home/tim/.rvm/gems/ree-1.8.7-2011.03/gems/activerecord-3.0.5/lib/active_record/transactions.rb:239:in
`save'
        from (irb):3
ree-1.8.7-2011.03 :004 > Person.all
 => [#<Person id: 1, hash: nil, first_name: "tim", last_name: nil,
middle_name: nil, date_of_birth: nil, date_of_death: nil, age: nil,
gender: nil, email: nil, state: 0, status: 0, created_at: "2011-05-12
03:39:33", updated_at: "2011-05-12 03:39:33">]
ree-1.8.7-2011.03 :005 >


Here is the SQL statement generated

 INSERT INTO `people` (`date_of_birth`, `updated_at`, `gender`,
`date_of_death`, `created_at`, `hash`, `first_name`, `middle_name`,
`age`, `status`, `last_name`, `email`, `state`) VALUES (NULL,
'2011-05-12 03:39:33', NULL, NULL, '2011-05-12 03:39:33', NULL, 'tim',
NULL, NULL, 0, NULL, NULL, 0)


Here is the migration

 create_table :people do |t|
      t.string :hash
      t.string :first_name
      t.string :last_name
      t.string :middle_name
      t.date   :date_of_birth
      t.date   :date_of_death
      t.integer :age
      t.string :gender
      t.string :email
      t.integer :state , :default => 0
      t.integer :status , :default => 0
      t.timestamps
    end

    add_index :people, :email
    add_index :people, :hash
    add_index :people, :state
    add_index :people, :status

So there is nothing weird at all.

Very strange

-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to