无法管理关联帐户 belongs_to 用户和帐户 has_many 用户 rails
Cannot manage association Account belongs_to User and Account has_many users with rails
我有一个数据库模式,其中一个帐户 has_many 个用户,但该帐户还有一个 belongs_to 单个用户,即该帐户的管理员用户。
我通过在帐户 table 中添加一个 admin_user_id 列来表达这种关系。
就关联而言,我希望能够同时编写:
1) user.accounts 获取特定用户创建的所有帐户
2) account.users 获取已添加到特定帐户的所有用户
2) 已经工作,但我无法使 1) 工作。
我尝试将 belongs_to :admin_user, class_name: "User", foreign_key: "admin_user_id"
添加到我的帐户模型,但它不起作用:
class Account < ActiveRecord::Base
# associations
has_many :users
has_many :hotels
belongs_to :admin_user, class_name: "User", foreign_key: "admin_user_id"
end
我怎样才能完成这项工作?
在用户模型中
has_many :created_accounts, class_name: "Account", foreign_key: "user_id", inverse_of: :admin
has_many :accounts
在帐户模型中
belongs_to :admin, class_name: "User", foreign_key: "user_id"
has_many :users
然后查找某个用户创建的所有帐户:user.created_accounts
要查找特定帐户的创建者,请执行以下操作:account.admin
。
最后 account.users
您应该找到属于该帐户的所有用户。
我有一个数据库模式,其中一个帐户 has_many 个用户,但该帐户还有一个 belongs_to 单个用户,即该帐户的管理员用户。
我通过在帐户 table 中添加一个 admin_user_id 列来表达这种关系。
就关联而言,我希望能够同时编写: 1) user.accounts 获取特定用户创建的所有帐户 2) account.users 获取已添加到特定帐户的所有用户
2) 已经工作,但我无法使 1) 工作。
我尝试将 belongs_to :admin_user, class_name: "User", foreign_key: "admin_user_id"
添加到我的帐户模型,但它不起作用:
class Account < ActiveRecord::Base
# associations
has_many :users
has_many :hotels
belongs_to :admin_user, class_name: "User", foreign_key: "admin_user_id"
end
我怎样才能完成这项工作?
在用户模型中
has_many :created_accounts, class_name: "Account", foreign_key: "user_id", inverse_of: :admin
has_many :accounts
在帐户模型中
belongs_to :admin, class_name: "User", foreign_key: "user_id"
has_many :users
然后查找某个用户创建的所有帐户:user.created_accounts
要查找特定帐户的创建者,请执行以下操作:account.admin
。
最后 account.users
您应该找到属于该帐户的所有用户。