Alex Rivera | Logout

unknown attribute: user_id

Asked 2012-07-17T19:23:03.603
14

I'm getting the error unknown attribute: user_id durring execution of current_user.stories.build

class User < ActiveRecord::Base
  has_many :stories, class_name: 'Story', foreign_key: 'user_id', dependent: :destroy
  ...

class Story < ActiveRecord::Base
  belongs_to :user, class_name: 'User', foreign_key: 'user_id'
  ...

schema.rb

create_table "stories", :force => true do |t|
    t.string   "responsible"
    t.string   "descr"
    t.string   "state"
    t.datetime "created_at",  :null => false
    t.datetime "updated_at",  :null => false
  end

  create_table "users", :force => true do |t|
    t.string   "email"
    t.string   "password_digest"
    t.datetime "created_at",      :null => false
    t.datetime "updated_at",      :null => false
    t.string   "name"
  end

It doesn't contain 'user_id' field. Any ideas?

Edit
Report

1 Answer

2

You should have a user_id field in your stories table like below to define the association in your models.

create_table "stories", :force => true do |t|
    t.integer  "user_id"
    t.string   "responsible"
    t.string   "descr"
    t.string   "state"
    t.datetime "created_at",  :null => false
    t.datetime "updated_at",  :null => false
  end
  ...
end

Edit

Check Emily's answer for detailed explanation.

answered 2012-07-17T19:28:20.057

Your Answer