2012-09-10 25 views
0

我很困惑爲以下關係船定義關聯關係。什麼是Rails協會..?

1.用戶可以有多個公司。

2.A公司早些有很多隊員用戶

3.Team成員都可以有這樣的業主,投資者,顧問不同的角色。

請讓我這個協會。目前我有用戶和公司模型。

+0

我認爲你在尋找爲'has_many:through'關聯。 http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association –

回答

-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 
+0

'has_many:through'更容易;-) – dumP

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