次の関連付けを持つ2つのモデルがあります。
- ユーザーには多くのプロジェクトがあります。
- プロジェクトはユーザーに属しています。
ユーザーモデル(user.rb):
class User < ActiveRecord::Base
has_many :projects
attr_accessible :available, :department, :name, :skills, :title, :photo
end
プロジェクトモデル(project.rb):
class Project < ActiveRecord::Base
belongs_to :user, :foreign_key => :user_id
attr_accessible :project_name
end
外部キー移行ファイル:
class AddForeignKeyToUsers < ActiveRecord::Migration
def change
add_column :users, :user_id, :integer
end
end
電話をかける<%= @user.projects %>
と、次のエラーメッセージが表示されます。
SQLite3::SQLException: no such column: projects.user_id: SELECT "projects".* FROM "projects" WHERE "projects"."user_id" = 2