【发布时间】:2017-05-08 21:30:18
【问题描述】:
我正在尝试植入以下数据结构:
class Company
has_many :user_roles
has_many :users, through: :user_roles
end
class User
has_many :user_roles
has_many :companies, through: :user_roles
end
class UserRole
belongs_to :user
belongs_to :company
end
除了字段 user_id 和 company_id 之外,UserRoles 表还有字段“role”,表示用户是给定公司的“成员”还是“管理员”。
我正在尝试按如下方式播种表格:
u1 = User.create(name: 'Tester 1')
u2 = User.create(name: 'Tester 2')
e1 = Company.create(name: 'Company 1')
e2 = Company.create(name: 'Company 2')
ur1 = UserRole.create(role: 'admin', user_id: 2, company_id: 1)
ur2 = UserRole.create(role: 'member', user_id: 3, company_id: 1)
ur3 = UserRole.create(role: 'admin', user_id: 3, company_id: 2)
但是当我尝试验证时,UserRole 表始终为空,并且表之间没有创建连接。 如果我尝试直接将用户添加到公司,使用
e1.users << [u1, u2]
e2.users << [u2]
然后UserRole表显示,但是我不知道如何添加'role'信息。谢谢你的帮助! :)
【问题讨论】:
标签: ruby-on-rails seeding