0

我有点像 Rails/AR 新手,所以为这个简单的问题道歉。我有以下课程:

Account
User (has many Organizations, has one base Account, has access to many Accounts through permission from owner)
Organization (has many Users, has one Account)

对象可以属于组织,但我也希望用户能够直接拥有它们,因此我添加了 Account 类以实现单一所有权。每个用户和组织都应该只有一个拥有的帐户,但用户应该可以通过帐户所有者指定的权限列表访问多个帐户。

鉴于我有一个名为 user_account_roles 的连接表:

user_account_roles:
  account_id
  user_id
  role

这是我卡住的地方:

class User < ActiveRecord::Base
  has_one :owned_account, :through => :user_account_roles
  has_many :accounts, :through => :user_account_roles
end

两个具体问题:

  1. 我能否以某种方式指定用户拥有由连接表中存在的行和角色 = 所有者指定的自有帐户。has_one :owned_account, :through => :user_account_roles, :condition => (role="owner") 之类的东西?如果这不起作用,我是否应该在用户表中添加另一列以指定其帐户 ID?

  2. 我可以在一个班级中使用这两个关联吗?(我希望 user.owned_account 返回它拥有的帐户和 user.accounts 返回用户有权访问的帐户的完整列表)

4

0 回答 0