不确定模型关联
Uncertain about model association
我正在做一个允许用户创建公司的项目。如果用户创建公司,则该用户将成为管理员。
不过,我也希望该用户能够邀请其他用户注册。这样所有的用户都属于那家公司。
所以我的问题是,从技术上讲,我猜公司会 belong_to 管理员。不过该公司也有很多用户。
正确的关联设置是什么?
您可以同时从您的 Company
模型中获得与 User
的 belongs_to
和 has_many
关系。设置别名将它们分开,如下所示:
# app/models/company.rb
belongs_to :admin, :class_name => 'User'
has_many :users
现在您可以通过 @company.admin
访问管理员用户,通过 @company.users
访问用户。
class Company
belongs_to :admin, :class_name => 'User', foreign_key: :admin_id
has_many :users
end
这应该有效。创建公司模型时,给出
admin_id = @current_user.id
@current_user 如果您使用 Devise 进行身份验证管理。
干杯,
阿基尔
我正在做一个允许用户创建公司的项目。如果用户创建公司,则该用户将成为管理员。
不过,我也希望该用户能够邀请其他用户注册。这样所有的用户都属于那家公司。
所以我的问题是,从技术上讲,我猜公司会 belong_to 管理员。不过该公司也有很多用户。
正确的关联设置是什么?
您可以同时从您的 Company
模型中获得与 User
的 belongs_to
和 has_many
关系。设置别名将它们分开,如下所示:
# app/models/company.rb
belongs_to :admin, :class_name => 'User'
has_many :users
现在您可以通过 @company.admin
访问管理员用户,通过 @company.users
访问用户。
class Company
belongs_to :admin, :class_name => 'User', foreign_key: :admin_id
has_many :users
end
这应该有效。创建公司模型时,给出
admin_id = @current_user.id
@current_user 如果您使用 Devise 进行身份验证管理。
干杯,
阿基尔