0

我很困惑为以下关系船定义关联。

1.一个用户可以拥有多个公司。

2.一个公司会有很多团队成员用户

3.团队成员可以有不同的角色,如所有者、投资者、顾问。

请让我对此进行关联。目前我有用户和公司模型。

4

2 回答 2

0

如果你使用了:

class Company < ActiveRecord::Base
  has_many :users
end

class User < ActiveRecord::Base
  belongs_to :companies
  has_many :roles
end

class Role < ActiveRecord::Base
  belongs_to :user
end
于 2012-09-18T01:16:50.200 回答
-1

如果你想声明 team_members 动态:在你的角色模型中声明你的“角色”静态(diffrent_role)

 class User < ActiveRecord::Base
      has_many :companies
      has_many :roles
    end

    class Company < ActiveRecord::Base
      belongs_to :user
      has_many :team_members, :class_name => "User", :finder_sql => 'SELECT u.* FROM users u INNER JOIN roles r ON u.company_id = r.id WHERE r.diffrent_role = "member";'

    end

    class Role < ActiveRecord::Base
      belongs_to :user
    end
于 2012-09-10T16:00:38.380 回答