我很困惑为以下关系定义了关联。
1.用户可以拥有多家公司。
2.一个公司将拥有许多团队成员用户
3.团队成员可以拥有不同的角色,如业主,投资者,顾问。
请告诉我这个协会。目前我有用户和公司模式。
答案 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