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 回答