我有这两个表:
accounts
- user_id
users
- account_id
许多用户可以属于某个帐户,而一个帐户只能拥有一个拥有完全权限的所有者。如果用户拥有一个帐户,则两者应该互相引用。我正在试图找出如何建立这种关联。这就是我所拥有的:
class Account < AR::Base
has_many :users
has_one :owner, class_name: 'User', foreign_key: :user_id
这似乎对我而言,但User类肯定不是:
class User < AR::Base
belongs_to :account
has_one :account
一个对象不能同时属于一个对象。我应该如何设置我的用户类?
答案 0 :(得分:2)
以下应该工作我想:
class Account < AR::Base
has_many :users
belongs_to :owner, class_name: 'User', foreign_key: :user_id
class User < AR::Base
belongs_to :account
has_one :account, inverse_of: :owner