什么是Rails协会...?

时间:2012-09-10 15:47:51

标签: ruby-on-rails associations

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

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

2.一个公司将拥有许多团队成员用户

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

请告诉我这个协会。目前我有用户和公司模式。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:-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