Skip to content

Instantly share code, notes, and snippets.

@guinslym
Created January 14, 2014 02:44
Show Gist options
  • Save guinslym/8412161 to your computer and use it in GitHub Desktop.
Save guinslym/8412161 to your computer and use it in GitHub Desktop.
I'm having a type mistmatch errors. It's a HABM relationship. Artcle<->Category. I don't understand this:
1.9.3-p484 :034 > article = Article.last
1.9.3-p484 :029 > category = Category.find_by_name('Pogramming')
Category Load (0.4ms) SELECT "categories".* FROM "categories" WHERE "categories"."name" = 'Pogramming' LIMIT 1
=> nil
1.9.3-p484 :030 > article.categories << category
(0.1ms) begin transaction
(0.1ms) rollback transaction
ActiveRecord::AssociationTypeMismatch: Category(#28243960) expected, got NilClass(#4618340)
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/associations/association.rb:210:in `raise_on_type_mismatch'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/associations/collection_association.rb:494:in `block in concat_records'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/associations/collection_association.rb:493:in `each'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/associations/collection_association.rb:493:in `concat_records'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/associations/collection_association.rb:134:in `block in concat'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/associations/collection_association.rb:149:in `block in transaction'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/transactions.rb:208:in `transaction'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/associations/collection_association.rb:148:in `transaction'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/associations/collection_association.rb:134:in `concat'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/activerecord-3.2.16/lib/active_record/associations/collection_proxy.rb:118:in `<<'
from (irb):30
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/railties-3.2.16/lib/rails/commands/console.rb:47:in `start'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/railties-3.2.16/lib/rails/commands/console.rb:8:in `start'
from /home/guinslym/.rvm/gems/ruby-1.9.3-p484@rails3tutorial2ndEd/gems/railties-3.2.16/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'1.9.3-p484 :031 >
1.9.3-p484 :031 > Article
=> Article(id: integer, title: string, body: text, published_at: datetime, created_at: datetime, updated_at: datetime, excerpt: string, location: string, user_id: integer)
1.9.3-p484 :032 > Category
=> Category(id: integer, name: string, created_at: datetime, updated_at: datetime)
sqlite> .schema articles_Categories
CREATE TABLE "articles_categories" ("article_id" integer, "category_id" integer);
sqlite>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment