Ruby on rails Rails ActiveRecord最佳实践

Ruby on rails Rails ActiveRecord最佳实践,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有点像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类以实现单一所有

我有点像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\u account\u 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
class用户:用户\u帐户\u角色
拥有多个:帐户,:至=>:用户\u帐户\u角色
结束
两个具体问题:

  • 我是否可以指定一个用户拥有一个自己的帐户,该帐户由联接表中现有的行和role=owner指定。类似于has_one:owned_account,:through=>:user_account_roles,:condition=>(role=“owner”)?如果这不起作用,我是否应该向用户表中添加另一列,指定其帐户ID

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


  • 您所说的
    对象
    是什么意思?
    可以通过所有者的权限访问多个帐户
    使用角色模型并设置不同的角色