【发布时间】:2014-08-03 16:23:57
【问题描述】:
我有一个通过连接表 company_user 拥有许多用户的公司。每个用户只能为一家公司工作。这是一对多的关系。
我已经四处寻找,并在https://stackoverflow.com/a/7080017/883102找到了解决方案
但我得到了错误
PG::UndefinedTable: 错误: 关系“公司”不存在 第 5 行:在哪里 a.attrelid = '"companies"'::regclass
当我尝试创建公司时。我该如何解决这个问题?
我的模特是
公司
class Company < ActiveRecord::Base
has_many :employments
has_many :users, :through => :employments
end
用户
class User < ActiveRecord::Base
...
end
就业
class Employment < ActiveRecord::Base
belongs_to :company
belongs_to :user
end
我的联接表的迁移是
create_table :employment do |t|
t.belongs_to :company
t.belongs_to :user
t.timestamps
end
我的 schema.rb
create_table "company", force: true do |t|
t.integer "rating"
t.integer "phone"
t.string "name"
t.string "address"
t.string "email"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "employment", id: false, force: true do |t|
t.integer "company_id"
t.integer "user_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users", force: true do |t|
t.string "name"
t.string "email"
t.datetime "created_at"
t.datetime "updated_at"
t.string "password_digest"
t.string "remember_token"
t.string "role"
end
【问题讨论】:
-
当我认为你需要
company_users(复数)时,你创建了表company_user -
嗨,我试过了,但不幸的是没有快乐。
-
你能发一下 scheme.rb 让我看看你有什么吗?
标签: ruby-on-rails postgresql activerecord