不确定模型关联

Uncertain about model association

我正在做一个允许用户创建公司的项目。如果用户创建公司,则该用户将成为管理员。

不过,我也希望该用户能够邀请其他用户注册。这样所有的用户都属于那家公司。

所以我的问题是,从技术上讲,我猜公司会 belong_to 管理员。不过该公司也有很多用户。

正确的关联设置是什么?

您可以同时从您的 Company 模型中获得与 Userbelongs_tohas_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 进行身份验证管理。

干杯,

阿基尔