has_many通过基于关系表的条件关系(Rails 2.3.5)



我有一个关系如下。

companies_employee.rb
belongs_to :employee
belongs_to :company
validates_presence_of :role
employee.rb
has_many :companies_employees
has_many :companies, :through => :companies_employees
company.rb
has_many :companies_employees
has_many :managers, :through => :companies_employees, :source => :employee, conditions => {:role => "Manager"}
has_many :owners, :through => :companies_employees, :source => :employee, :conditions => {:role => "Owner"}

我的问题是,当它检查条件时,它会尝试在员工表中查找角色列,但角色列位于companies_employees表中。有没有办法让它使用此表中的内容作为条件?

尝试这样的事情:

has_many :managers, :through => :companies_employees, :source => :employee, conditions => ["employees.role = 'Manager"]
has_many :owners, :through => :companies_employees, :source => :employee, conditions => ["employees.role = 'Owner"]

相关内容

  • 没有找到相关文章

最新更新