我有 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)