0

次のモデルが設定されているプロジェクトがあります。

class User < ActiveRecord::Base
has_and_belongs_to_many :projects
has_and_belongs_to_many :user_roles

class Project < ActiveRecord::Base
has_and_belongs_to_many :users
has_many :user_roles

class UserRole< ActiveRecord::Base
has_and_belongs_to_many :users
belongs_to :project

私の問題は、ユーザーが関与したすべてのプロジェクトと、ユーザーが取り組んだプロジェクトやユーザーの役割が割り当てられていないプロジェクトを含む、プロジェクトでのユーザーの役割を返したいときに発生します。

私はうまくいくかもしれないと感じていますが、has_many :throughそれがどのように機能するか正確にはわかりません。どんな考えでも大歓迎です!

4

1 に答える 1

1
class User < ActiveRecord::Base
  has_many :user_roles
  has_many :projects, :through => :user_roles


class Project < ActiveRecord::Base
  has_many :user_roles
  has_many :users, :through => :user_roles


class UserRole< ActiveRecord::Base
  belongs_to :user
  belongs_to :project
于 2012-05-08T06:50:13.573 に答える