当记录依赖于另一条记录时,如何创建该记录



我有 2 个模型,每个模型都依赖于另一个模型。

class Company < ActiveRecord
  belongs_to :user
end
class User < ActiveRecord
  belongs_to :company
end

该公司有一个必需的user_id列。用户具有必需的company_id列。

当公司和用户相互依赖时,如何创建它们?

在你的场景中这个关系叫做many to many relationship,你可以用两个表的外键创建这个叫users_companies中间表

欲了解更多详情,请参阅此链接 协会

像例子

class Company < ActiveRecord
  has_many :users_companies, dependent: :destroy
  has_many :users, through: users_companies
end
class User < ActiveRecord
  has_many :users_companies, dependent: :destroy
  has_many :companies, through: users_companies
end
class UsersCompany < ActiveRecord
  belongs_to :user
  belongs_to :company
  # This model have two foreign key
  user_id and company_id
end

使用虚拟值伪造其中一个对象是有效的

company=Company.create(user_id: dummy)
user=User.new
user.company = company
user.save
company.update_attribute(user_id: user.id)

最新更新