次の関係船の関連付けを定義するのに混乱しています。
1.ユーザーは複数の会社を持つことができます。
2.会社には多くのチームメンバーユーザーがいます
3.チームメンバーは、所有者、投資家、アドバイザーなどのさまざまな役割を持つことができます。
これの関連付けをさせてください。現在、私はユーザーと会社のモデルを持っています。
次の関係船の関連付けを定義するのに混乱しています。
1.ユーザーは複数の会社を持つことができます。
2.会社には多くのチームメンバーユーザーがいます
3.チームメンバーは、所有者、投資家、アドバイザーなどのさまざまな役割を持つことができます。
これの関連付けをさせてください。現在、私はユーザーと会社のモデルを持っています。
あなたが使用した場合:
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
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