Rails - has_one和belongs_to用于关联

时间:2015-01-11 18:48:25

标签: ruby-on-rails activerecord associations

我有这两个表:

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

一个对象不能同时属于一个对象。我应该如何设置我的用户类?

1 个答案:

答案 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